File indexing completed on 2024-11-27 03:18:07
0001
0002
0003 import os, sys
0004
0005
0006
0007 VERSION = os.environ.get('CMSSW_VERSION')
0008 if VERSION is None:
0009 print('''No environment CMSSW_VERSION''')
0010 sys.exit()
0011
0012 if len(sys.argv) < 5:
0013 print('Usage: python run.py PhysList Particle Fhcal VAR')
0014 print('Example: python run.py FTFP_BERT pi- 106.5 RR')
0015 sys.exit()
0016 else:
0017 phys = sys.argv[1]
0018 part = sys.argv[2]
0019 hcal = sys.argv[3]
0020 var = sys.argv[4]
0021
0022 text = 'Start RUN for ' + phys + ' ' + part + ' ' + hcal + ' ' + var
0023 print(text)
0024
0025 cmd = 'mkdir -p ' + VERSION
0026 os.system(cmd)
0027
0028 fname = VERSION + '/' + phys + '_' + part + '_' + var + '_'
0029
0030
0031
0032 listEpin = ['2','2.5','3','4','5','6','7','8','9','20','30','50','100','150','200','300']
0033 listEpip = ['2','3','4','5','6','7','8','9','20']
0034 listEp = ['2.21','3.14','4.11','5.09','6.07','7.06','8.05','9.05','20','30','350']
0035 listPp = ['2','3','4','5','6','7','8','9','20','30','350']
0036 listEpbar = ['2.21','2.67','3.14','4.11','5.09','6.07','7.06','8.05','9.05']
0037 listPpbar = ['2','2.5','3','4','5','6','7','8','9']
0038 listEkp = ['2.06','3.08','4.03','5','6','7','8','9']
0039 listPkp = ['2','3','4','5','6','7','8','9']
0040 listEkn = ['2.55','3.08','4.03','5','6','7','8','9']
0041 listPkn = ['2.5','3','4','5','6','7','8','9']
0042 listEe = ['50']
0043
0044 pdg = '-211'
0045 geom = 'SimG4CMS.HcalTestBeam.TB2006GeometryXML_cfi'
0046 nE = int(16)
0047 ecal = '1.01'
0048 stat = '5000'
0049
0050 if(part == 'e-') :
0051 pdg = '11'
0052 listE = listEe
0053 listP = listEe
0054 nE = int(1)
0055 hcal = '100'
0056 geom = 'SimG4CMS.HcalTestBeam.TB2006GeometryNoEcalXML_cfi'
0057
0058 if(part == 'pi-') :
0059 listE = listEpin
0060 listP = listEpin
0061
0062 if(part == 'pi+') :
0063 pdg = '211'
0064 listE = listEpip
0065 listP = listEpip
0066 nE = int(9)
0067
0068 if(part == 'p') :
0069 pdg = '2212'
0070 listE = listEp
0071 listP = listPp
0072 nE = int(11)
0073
0074 if(part == 'pbar') :
0075 pdg = '-2212'
0076 listE = listEpbar
0077 listP = listPpbar
0078 nE = int(9)
0079
0080 if(part == 'kaon+') :
0081 pdg = '321'
0082 listE = listEkp
0083 listP = listPkp
0084 nE = int(8)
0085
0086 if(part == 'kaon-') :
0087 pdg = '-321'
0088 listE = listEkn
0089 listP = listPkn
0090 nE = int(8)
0091
0092 if(var == 'NO') :
0093 geom = 'SimG4CMS.HcalTestBeam.TB2006GeometryNoEcalXML_cfi'
0094
0095
0096
0097 outf = fname + '.log'
0098 cmd4 = 'rm -f ' + outf
0099 os.system(cmd4)
0100 cmd1 = 'echo "Start loop" > ' + outf
0101 print(cmd1)
0102 os.system(cmd1)
0103
0104 for i in range( nE) :
0105 fnametmp = fname + '.py'
0106 cmd3 = 'rm -f ' + fnametmp
0107 os.system(cmd3)
0108 pfile = open(fnametmp, "w")
0109 pfile.write('import FWCore.ParameterSet.Config as cms \n\n' )
0110 pfile.write('from Configuration.Eras.Modifier_h2tb_cff import h2tb \n\n' )
0111 pfile.write('process = cms.Process("PROD", h2tb) \n\n' )
0112 pfile.write('process.load("' + geom + '") \n\n')
0113 pfile.write('from SimG4CMS.HcalTestBeam.TB2006Analysis_cfi import * \n')
0114 pfile.write('process = testbeam2006(process) \n\n')
0115 pfile.write('process.TFileService = cms.Service("TFileService", \n')
0116 pfile.write(' fileName = cms.string("' + fname + listP[i] + 'gev.root") \n')
0117 pfile.write(') \n\n')
0118 pfile.write('process.common_beam_direction_parameters.MinE = cms.double('+listE[i]+') \n')
0119 pfile.write('process.common_beam_direction_parameters.MaxE = cms.double('+listE[i]+') \n')
0120 pfile.write('process.common_beam_direction_parameters.PartID = cms.vint32('+pdg+') \n')
0121 pfile.write('process.generator.PGunParameters.MinE = process.common_beam_direction_parameters.MinE \n')
0122 pfile.write('process.generator.PGunParameters.MaxE = process.common_beam_direction_parameters.MaxE \n')
0123 pfile.write('process.generator.PGunParameters.PartID = process.common_beam_direction_parameters.PartID \n')
0124 pfile.write('process.VtxSmeared.MinE = process.common_beam_direction_parameters.MinE \n')
0125 pfile.write('process.VtxSmeared.MaxE = process.common_beam_direction_parameters.MaxE \n')
0126 pfile.write('process.VtxSmeared.PartID = process.common_beam_direction_parameters.PartID \n')
0127 pfile.write('process.testbeam.MinE = process.common_beam_direction_parameters.MinE \n')
0128 pfile.write('process.testbeam.MaxE = process.common_beam_direction_parameters.MaxE \n')
0129 pfile.write('process.testbeam.PartID = process.common_beam_direction_parameters.PartID \n')
0130 if(part == 'e-') : pfile.write('process.testbeam.ECAL = cms.bool(False) \n')
0131 if(var == 'NO') : pfile.write('process.testbeam.ECAL = cms.bool(False) \n')
0132 pfile.write('process.testbeam.TestBeamAnalysis.EcalFactor = cms.double(' + ecal + ') \n')
0133 pfile.write('process.testbeam.TestBeamAnalysis.HcalFactor = cms.double(' + hcal + ') \n\n')
0134 pfile.write('process.maxEvents = cms.untracked.PSet( \n')
0135 pfile.write(' input = cms.untracked.int32(' + stat + ') \n')
0136 pfile.write(') \n\n')
0137 pfile.write('process.g4SimHits.Physics.type = "SimG4Core/Physics/' + phys + '" \n\n')
0138 pfile.write('process.g4SimHits.OnlySDs = ["CaloTrkProcessing", "EcalTBH4BeamDetector", "HcalTB02SensitiveDetector", "HcalTB06BeamDetector", "EcalSensitiveDetector", "HcalSensitiveDetector"] \n\n')
0139 pfile.close()
0140 cmd2 = 'cmsRun ' + fnametmp + ' >> ' + outf
0141 os.system(cmd2)
0142
0143