~maddevelopers/mg5amcnlo/3.4.0

« back to all changes in this revision

Viewing changes to tests/acceptance_tests/test_cmd_amcatnlo.py

  • Committer: olivier-mattelaer
  • Date: 2022-04-06 19:53:03 UTC
  • mfrom: (962.3.26 3.2.0_eft_running)
  • Revision ID: olivier-mattelaer-20220406195303-ikpe2rvh6olzimyw
merge with eft_running branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
from tests.parallel_tests.test_aloha import set_global
35
35
import tests.IOTests as IOTests
36
36
 
 
37
import madgraph
37
38
import madgraph.interface.master_interface as MGCmd
38
39
import madgraph.interface.amcatnlo_run_interface as NLOCmd
39
40
import madgraph.interface.launch_ext_program as launch_ext
556
557
        self.assertTrue(os.path.exists('%s/Events/run_02/alllogs_2.html' % self.path))
557
558
 
558
559
 
 
560
    def test_eft_running_nlo(self):
 
561
        """check that  gives the correct result"""
 
562
        
 
563
        mg_cmd = MGCmd.MasterCmd()
 
564
        mg_cmd.no_notification()
 
565
        mg_cmd.run_cmd('set automatic_html_opening False --save')
 
566
        mg_cmd.run_cmd('import model %s/tests/input_files/SMEFTatNLO_running-NLO' % madgraph.MG5DIR)
 
567
        mg_cmd.run_cmd('generate p p > t t~ NP=2 NP^2==2 QCD=2 QED=0 [QCD]')
 
568
        mg_cmd.run_cmd('output %s/'% self.path)
 
569
        #self.cmd_line = MECmd.MadEventCmdShell(me_dir=  self.path)
 
570
        #self.cmd_line.no_notification()
 
571
        #self.cmd_line.exec_cmd('set automatic_html_opening False')
 
572
        
 
573
        #check validity of the default run_card
 
574
        run_card = banner.RunCardNLO(pjoin(self.path, 'Cards','run_card.dat'))
 
575
 
 
576
        #f = open(pjoin(self.path, 'Cards','run_card.dat'),'r')
 
577
        #print(f.read())
 
578
        self.assertTrue('fixed_extra_scale' not in run_card.user_set)
 
579
        self.assertTrue('mue_ref_fixed' in run_card.user_set)
 
580
        self.assertTrue('mue_over_ref' not in  run_card.user_set)
 
581
        self.assertTrue(run_card['fixed_extra_scale'])
 
582
        
 
583
        
 
584
 
 
585
        cwd = os.getcwd()
 
586
        import subprocess
 
587
        if logging.getLogger('madgraph').level <= 20:
 
588
            stdout=None
 
589
            stderr=None
 
590
        else:
 
591
            devnull =open(os.devnull,'w')
 
592
            stdout=devnull
 
593
            stderr=devnull
 
594
 
 
595
        if logging.getLogger('madgraph').level > 20:
 
596
            stdout = devnull
 
597
        else:
 
598
            stdout= None
 
599
 
 
600
 
 
601
        subprocess.call([pjoin(self.path, 'bin','generate_events'),'aMC@LO', '-p', '-f'],            
 
602
                         cwd=pjoin(self.path),
 
603
                         stdout=stdout,stderr=stdout)
 
604
 
 
605
 
 
606
 
 
607
        results = self.load_result('run_01_LO')[0]
 
608
 
 
609
 
 
610
        val1 = results['cross']
 
611
        err1 = results['error']
 
612
 
 
613
        target = 617.7542699925228
 
614
        self.assertTrue(abs(val1 - target) / err1 < 1., 'large diference between %s and %s +- %s'%
 
615
                        (target, val1, err1))
 
616
 
 
617
 
559
618
    def test_generate_events_lo_hw6_stdhep(self):
560
619
        """test the param_card created is correct"""
561
620
        
720
779
        self.assertTrue('Number of events generated: 100' in data[i+3])
721
780
 
722
781
 
723
 
    def load_result(self, run_name):
724
 
        
 
782
    def load_result(self, run_name='run_01'):
 
783
 
725
784
        import madgraph.iolibs.save_load_object as save_load_object
726
785
        import madgraph.madevent.gen_crossxhtml as gen_crossxhtml
727
 
        
 
786
 
728
787
        result = save_load_object.load_from_file('%s/HTML/results.pkl' % self.path)
729
788
        return result[run_name]
730
789