Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:16

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # Material effects to be simulated in the tracker material and associated cuts
0004 MaterialEffectsBlock = cms.PSet(
0005     MaterialEffects = cms.PSet(
0006 
0007         use_hardcoded_geometry = cms.bool(True),
0008     
0009         # Material Properties (Silicon)
0010         # A
0011         A = cms.double(28.0855),
0012     # Z
0013         Z = cms.double(14.0),
0014     # Density in g/cm3
0015         Density = cms.double(2.329),
0016     # One radiation length in cm
0017         RadiationLength = cms.double(9.36),
0018         # upper energy limit for the Bertini cascade 
0019         EkinBertiniGeV = cms.double(3.5),
0020         # Kinetic energy threshold for secondaries 
0021         EkinLimitGeV = cms.double(0.1),
0022     # General switches
0023     # Enable photon pair conversion 
0024         PairProduction = cms.bool(True),
0025     # Smallest photon energy allowed for conversion
0026         photonEnergy = cms.double(0.1),
0027     # Enable electron Bremsstrahlung
0028         Bremsstrahlung = cms.bool(True),
0029         # Enable muon  Bremsstrahlung
0030         MuonBremsstrahlung = cms.bool(False),
0031         # Smallest bremstrahlung photon energy
0032         bremEnergy = cms.double(0.1),
0033     # Smallest bremsstrahlung energy fraction (wrt to the electron energy)
0034         bremEnergyFraction = cms.double(0.005),
0035     # Enable dE/dx
0036         EnergyLoss = cms.bool(True),
0037     # Enable Multiple Scattering
0038         MultipleScattering = cms.bool(True),
0039     # Smallest pT for the Mutliple Scattering 
0040         pTmin = cms.double(0.2),
0041     # Enable Nuclear Interactions
0042         NuclearInteraction = cms.bool(True), # buggy, should be removed on long term
0043         #
0044         G4NuclearInteraction = cms.bool(False),     
0045         # The energies of the pions used in the above files (same order)
0046         hadronEnergies = cms.untracked.vdouble(
0047             1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 12.0, 15.0, 20.0, 
0048             30.0, 50.0, 100.0, 200.0, 300.0, 500.0, 700.0, 1000.0
0049         ),
0050     # The particle types simulated
0051         hadronTypes = cms.untracked.vint32(
0052             211, -211, 130, 321, -321, 2212, -2212, 2112, -2112
0053         ),
0054     # The corresponding particle names
0055         hadronNames = cms.untracked.vstring(
0056             'piplus', 'piminus', 'K0L', 'Kplus', 'Kminus', 'p', 'pbar', 'n', 'nbar'
0057         ),
0058     # The corresponding particle masses
0059         hadronMasses = cms.untracked.vdouble(
0060             0.13957, 0.13957, 0.497648, 0.493677, 0.493677, 
0061         0.93827, 0.93827, 0.939565, 0.939565 
0062     ),
0063     # The corresponding smallest momenta for which an inleatic interaction may occur
0064         hadronMinP = cms.untracked.vdouble( 
0065         0.7, 0.0, 1.0, 1.0, 0.0, 1.1, 0.0, 1.1, 0.0 
0066     ),
0067 
0068 
0069     # The scaling of the inelastic cross section with energy 
0070         ratios = cms.untracked.vdouble(
0071             # pi+ (211)
0072         0.031390573,0.531842852,0.819614219,0.951251711,0.986382750,1.000000000,0.985087033,0.982996773,
0073         0.990832192,0.992237923,0.994841580,0.973816742,0.967264815,0.971714258,0.969122824,0.978681792,
0074         0.977312732,0.984255819,
0075         # pi- (-211)
0076         0.035326512,0.577356403,0.857118809,0.965683504,0.989659360,1.000000000,0.989599240,0.980665408,
0077         0.988384816,0.981038152,0.975002104,0.959996152,0.953310808,0.954705592,0.957615400,0.961150456,
0078         0.965022184,0.960573304,
0079         # K0L (130)
0080         0.000000000,0.370261189,0.649793096,0.734342408,0.749079499,0.753360057,0.755790543,0.755872164,
0081         0.751337674,0.746685288,0.747519634,0.739357554,0.735004444,0.803039922,0.832749896,0.890900187,
0082         0.936734805,1.000000000,
0083         # K+ (321)
0084         0.000000000,0.175571717,0.391683394,0.528946472,0.572818635,0.614210280,0.644125538,0.670304050,
0085         0.685144573,0.702870161,0.714708513,0.730805263,0.777711536,0.831090576,0.869267129,0.915747562,
0086         0.953370523,1.000000000,
0087         # K- (-321)
0088         0.000000000,0.365353210,0.611663677,0.715315908,0.733498956,0.738361302,0.745253654,0.751459671,
0089         0.750628335,0.746442657,0.750850669,0.744895986,0.735093960,0.791663444,0.828609543,0.889993040,
0090         0.940897842,1.000000000,
0091         # proton (2212)
0092         0.000000000,0.042849136,0.459103223,0.666165343,0.787930873,0.890397011,0.920999533,0.937832788,
0093         0.950920131,0.966595049,0.979542270,0.988061653,0.983260159,0.988958431,0.991723494,0.995273237,
0094         1.000000000,0.999962634,
0095         # anti-proton (-2212)
0096         1.000000000,0.849956907,0.775625988,0.802018230,0.816207485,0.785899785,0.754998487,0.728977244, 
0097         0.710010673,0.670890339,0.665627872,0.652682888,0.613334247,0.647534574,0.667910938,0.689919693, 
0098         0.709200185,0.724199928,
0099         # neutron (2112)
0100         0.000000000,0.059216484,0.437844536,0.610370629,0.702090648,0.780076890,0.802143073,0.819570432,
0101         0.825829666,0.840079750,0.838435509,0.837529986,0.835687165,0.885205014,0.912450156,0.951451221,
0102         0.973215562,1.000000000,
0103         # anti-neutron
0104         1.000000000,0.849573257,0.756479495,0.787147094,0.804572414,0.791806302,0.760234588,0.741109531,
0105         0.724118186,0.692829761,0.688465897,0.671806061,0.636461171,0.675314029,0.699134460,0.724305037,
0106         0.742556115,0.758504713
0107     ),
0108     
0109     # The correspondence between long-lived hadrons/ions and the simulated hadron list
0110         protons = cms.untracked.vint32(2212, 3222, -101, -102, -103, -104),
0111         antiprotons = cms.untracked.vint32(-2212, -3222),
0112         neutrons = cms.untracked.vint32(2112, 3122, 3112, 3312, 3322, 3334, -3334),
0113         antineutrons = cms.untracked.vint32(-2112, -3122, -3112, -3312, -3322), 
0114         K0Ls = cms.untracked.vint32(130, 310),
0115         Kplusses = cms.untracked.vint32(321),
0116         Kminusses = cms.untracked.vint32(-321),
0117         Piplusses = cms.untracked.vint32(211),
0118         Piminusses = cms.untracked.vint32(-211),
0119 
0120         # The smallest pion energy for which nuclear interactions are simulated
0121         pionEnergy = cms.double(0.2),
0122     
0123     # The algorihm to detrmine the distance between the primary and the secondaries
0124     # 0 = no link
0125     # 1 = sin(theta12) - ~ ok at all momenta
0126     # 2 = sin(theta12) * p1/p2 - bad, should not be used
0127         distAlgo = cms.uint32(1),
0128         distCut = cms.double(0.020), ## Default is 0.020 for algo 1;
0129     
0130     # The ratio between radiation lengths and interation lengths in the tracker at 15 GeV
0131         lengthRatio = cms.vdouble(
0132         #        pi+      pi-    K0L      K+      K-      p      pbar     n      nbar
0133     #   0.2508, 0.2549, 0.3380, 0.2879, 0.3171, 0.3282, 0.5371, 0.3859, 0.5086 # before 170 tuning
0134         0.2257, 0.2294, 0.3042, 0.2591, 0.2854, 0.3101, 0.5216, 0.3668, 0.4898 # after 170 tuning
0135     ),
0136 
0137         # and a global fudge factor for TEC Layers to make it fit
0138         fudgeFactor = cms.double(1.2),
0139     
0140         # The file with the last nuclear interaction read in the previous run
0141         # to be put in the local running directory (if desired)
0142         inputFile = cms.untracked.string('NuclearInteractionInputFile.txt'),
0143    )
0144 )
0145 
0146 MaterialEffectsForMuonsBlock = cms.PSet(
0147     MaterialEffectsForMuons = cms.PSet(
0148 
0149         use_hardcoded_geometry = cms.bool(True),
0150         #print hi
0151         #print use_hardcoded_geometry
0152 
0153     # Material Properties (Iron - this is for muons)
0154     # A
0155         A = cms.double(55.8455),
0156     # Z
0157         Z = cms.double(26.0),
0158     # Density in g/cm3
0159         Density = cms.double(7.87),
0160     # One radiation length in cm
0161         RadiationLength = cms.double(1.76),
0162 
0163     # GEneral switches
0164     # Enable photon pair conversion 
0165         PairProduction = cms.bool(False),
0166     # Smallest photon energy allowed for conversion
0167         photonEnergy = cms.double(0.1),
0168     # Enable electron Bremsstrahlung
0169         Bremsstrahlung = cms.bool(False),
0170         # Enable muon  Bremsstrahlung
0171         MuonBremsstrahlung = cms.bool(False),
0172     # Smallest bremstrahlung photon energy
0173         bremEnergy = cms.double(0.1),
0174     # Smallest bremsstrahlung energy fraction (wrt to the electron energy)
0175         bremEnergyFraction = cms.double(0.005),
0176     # Enable dE/dx
0177         EnergyLoss = cms.bool(True),
0178     # Enable Multiple Scattering
0179         MultipleScattering = cms.bool(True),
0180     # Smallest pT for the Mutliple Scattering 
0181         pTmin = cms.double(0.3),
0182     # Enable Nuclear Interactions
0183         G4NuclearInteraction = cms.bool(False),     
0184         NuclearInteraction = cms.bool(False)
0185 
0186     )
0187 )
0188 
0189 MaterialEffectsForMuonsInECALBlock = cms.PSet(
0190     MaterialEffectsForMuonsInECAL = cms.PSet(
0191 
0192         use_hardcoded_geometry = cms.bool(True),
0193 
0194     # Material Properties (PbW04 - this is for muons)
0195     # A
0196         A = cms.double(55.8455),
0197     # Z
0198         Z = cms.double(26.0),
0199     # Density in g/cm3
0200         Density = cms.double(8.280),
0201     # One radiation length in cm
0202         RadiationLength = cms.double(0.89),
0203 
0204     # GEneral switches
0205     # Enable photon pair conversion 
0206         PairProduction = cms.bool(False),
0207     # Smallest photon energy allowed for conversion
0208         photonEnergy = cms.double(0.1),
0209     # Enable electron Bremsstrahlung
0210         Bremsstrahlung = cms.bool(False),
0211         # Enable muon  Bremsstrahlung
0212         MuonBremsstrahlung = cms.bool(False),
0213         # Smallest bremstrahlung photon energy
0214         bremEnergy = cms.double(0.1),
0215     # Smallest bremsstrahlung energy fraction (wrt to the electron energy)
0216         bremEnergyFraction = cms.double(0.005),
0217     # Enable dE/dx
0218         EnergyLoss = cms.bool(False),
0219     # Enable Multiple Scattering
0220         MultipleScattering = cms.bool(False),
0221     # Smallest pT for the Mutliple Scattering 
0222         pTmin = cms.double(0.3),
0223     # Enable Nuclear Interactions
0224         G4NuclearInteraction = cms.bool(False),     
0225         NuclearInteraction = cms.bool(False)
0226     )
0227 )
0228 
0229 MaterialEffectsForMuonsInHCALBlock = cms.PSet(
0230     MaterialEffectsForMuonsInHCAL = cms.PSet(
0231 
0232         use_hardcoded_geometry = cms.bool(True),
0233 
0234     # Material Properties (BRASS - this is for muons)
0235     # A
0236         A = cms.double(64.0),
0237     # Z
0238         Z = cms.double(29.0),
0239     # Density in g/cm3
0240         Density = cms.double(8.5),
0241     # One radiation length in cm
0242         RadiationLength = cms.double(1.44),
0243 
0244     # GEneral switches
0245     # Enable photon pair conversion 
0246         PairProduction = cms.bool(False),
0247     # Smallest photon energy allowed for conversion
0248         photonEnergy = cms.double(0.1),
0249     # Enable electron Bremsstrahlung
0250         Bremsstrahlung = cms.bool(False),
0251         # Enable muon  Bremsstrahlung
0252         MuonBremsstrahlung = cms.bool(False),
0253         # Smallest bremstrahlung photon energy
0254         bremEnergy = cms.double(0.1),
0255     # Smallest bremsstrahlung energy fraction (wrt to the electron energy)
0256         bremEnergyFraction = cms.double(0.005),
0257     # Enable dE/dx
0258         EnergyLoss = cms.bool(False),
0259     # Enable Multiple Scattering
0260         MultipleScattering = cms.bool(False),
0261     # Smallest pT for the Mutliple Scattering 
0262         pTmin = cms.double(0.3),
0263     # Enable Nuclear Interactions
0264         G4NuclearInteraction = cms.bool(False),     
0265         NuclearInteraction = cms.bool(False)
0266 
0267     )
0268 )
0269