Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-28 07:03:18

0001 set ExecutionPath {
0002   ParticlePropagator
0003 
0004   ChargedHadronTrackingEfficiency
0005   ElectronTrackingEfficiency
0006 
0007 
0008   ChargedHadronMomentumSmearing
0009   ElectronMomentumSmearing
0010   TrackMerger
0011   
0012 
0013   ECal
0014   HCal
0015 
0016   Calorimeter
0017   EFlowMerger
0018   EFlowFilter
0019 
0020   PhotonEfficiency
0021   PhotonIsolation
0022 
0023   ElectronFilter
0024   ElectronEfficiency
0025   ElectronIsolation
0026 
0027   ChargedHadronFilter
0028   MissingET
0029   NeutrinoFilter
0030   GenJetFinder
0031   GenMissingET
0032   FastJetFinder
0033 
0034   JetEnergyScale
0035   ElectronEnergyScale
0036     
0037   JetFlavorAssociation
0038   GenJetFlavorAssociation
0039 
0040   UniqueObjectFinder
0041 
0042   ScalarHT
0043 
0044   
0045 
0046   TreeWriter
0047 }
0048 
0049 
0050 module ParticlePropagator ParticlePropagator {
0051     set InputArray Delphes/stableParticles
0052     set OutputArray stableParticles
0053     set ChargedHadronOutputArray chargedHadrons
0054     set ElectronOutputArray electrons
0055 
0056     # radius of the magnetic field coverage, in m                                                          
0057     set Radius 1.5
0058     # half-length of the magnetic field coverage, in m                                                     
0059     set HalfLength 1.20
0060     # magnetic field                                                                                       
0061     set Bz 1.16
0062 }
0063 
0064 ## H1 central tracker covered                                                                              
0065 set CommonTrackingEfficiency {
0066     (abs(eta) <= 2.0) * (pt > 0.100)                     * (1.0) +
0067     0.0
0068 }
0069 
0070 set CommonTrackingResolution {
0071     (abs(eta)<=1.0)  * (sqrt( (2.0e-2)^2 + (pt*cosh(eta)*5e-3)^2  ) ) +
0072     (abs(eta)>1.0 && abs(eta)<2.0)  * (sqrt( (10.0e-2)^2 + (pt*cosh(eta)*1e-2)^2  ) )
0073 }
0074 
0075 
0076 module Efficiency ChargedHadronTrackingEfficiency {
0077   set InputArray ParticlePropagator/chargedHadrons
0078   set OutputArray chargedHadrons
0079   set EfficiencyFormula $CommonTrackingEfficiency
0080 }
0081 
0082 ##############################                                                                             
0083 # Electron tracking efficiency                                                                             
0084 ##############################                                                                             
0085 
0086 module Efficiency ElectronTrackingEfficiency {
0087   set InputArray ParticlePropagator/electrons
0088   set OutputArray electrons
0089   set EfficiencyFormula $CommonTrackingEfficiency
0090 
0091 }
0092 ########################################                                                                   
0093 # Momentum resolution for charged tracks                                                                   
0094 ########################################                                                                   
0095 
0096 module MomentumSmearing ChargedHadronMomentumSmearing {
0097   set InputArray ChargedHadronTrackingEfficiency/chargedHadrons
0098   set OutputArray chargedHadrons
0099   set ResolutionFormula  $CommonTrackingResolution
0100 }
0101 ###################################                                                                        
0102 # Momentum resolution for electrons                                                                        
0103 ###################################                                                                        
0104 module MomentumSmearing ElectronMomentumSmearing {
0105   set InputArray ElectronTrackingEfficiency/electrons
0106   set OutputArray electrons
0107   set ResolutionFormula $CommonTrackingResolution
0108 }
0109 
0110 
0111 ##############                                                                                             
0112 # Track merger                                                                                             
0113 ##############                                                                                             
0114 
0115 module Merger TrackMerger {
0116 # add InputArray InputArray                                                                                
0117   add InputArray ChargedHadronMomentumSmearing/chargedHadrons
0118   add InputArray ElectronMomentumSmearing/electrons
0119 
0120   set OutputArray tracks
0121 }
0122 
0123 ################################                                                                           
0124 # Track impact parameter smearing                                                                          
0125 ################################                                                                           
0126 
0127 #module TrackSmearing TrackSmearing {
0128 
0129 # set InputArray TrackMerger/tracks
0130 #  set BeamSpotInputArray BeamSpotFilter/beamSpotParticle                                                  
0131 #  set OutputArray tracks
0132 #  set ApplyToPileUp true                                                                                  
0133   # magnetic field                                                                                         
0134 #  set Bz 1.16
0135 #  set PResolutionFormula { 0.0 }
0136 #  set CtgThetaResolutionFormula { 0.0 }
0137 #  set PhiResolutionFormula { 0.0 }
0138 #  set D0ResolutionFormula "0.02"
0139 #  set DZResolutionFormula "0.02 "
0140 
0141 #}
0142 
0143 
0144 
0145 #############                                                                                              
0146 #   ECAL                                                                                                   
0147 #############                                                                                              
0148 
0149 module SimpleCalorimeter ECal {
0150   set ParticleInputArray ParticlePropagator/stableParticles
0151   set TrackInputArray TrackMerger/tracks
0152 
0153   set TowerOutputArray ecalTowers
0154   set EFlowTrackOutputArray eflowTracks
0155   set EFlowTowerOutputArray eflowPhotons
0156 
0157   set IsEcal true
0158   set EnergyMin 0.10
0159 
0160 
0161 
0162   set EnergySignificanceMin 1.0
0163 
0164   set SmearTowerCenter true
0165   set pi [expr {acos(-1)}]
0166   set PhiBins {}
0167   for {set i -30} {$i <=30} {incr i} {
0168       add PhiBins [expr {$i * $pi/30.0}]
0169   }
0170   for {set i -10} {$i <=10} {incr i} {
0171       set eta [expr {$i * 0.1}]
0172       add EtaPhiBins $eta $PhiBins
0173   }
0174   set PhiBins {}
0175   for {set i -30} {$i <=30} {incr i} {
0176     add PhiBins [expr {$i * $pi/30.0}]
0177   }
0178 
0179   foreach eta {-3.3 -3.26996837 -3.14642305 -3.03653567 -2.93760447 -2.84766006 -2.76522251 -2.68915144 \
0180 -2.61854952 -2.55269788 -2.49101173 -2.43300894 -2.3782873  -2.3265078  -2.27738197 -2.23066235 -2.1861350\
0181 3 -2.14361383 -2.10293569 -2.063957 -2.02655061 -1.99060337 -1.95601417 -1.92269228 -1.89055593 -1.8595312\
0182   -1.82955102 -1.80055436 -1.77248548 -1.74529337 -1.71893119 -1.69335587 -1.66852765 -1.64440978 -1.62096\
0183 821 -1.59817135 -1.57598979 -1.55439612 -1.53336478 -1.51287184 -1.4928949  -1.47341295 -1.45440623 -1.435\
0184 85618 -1.41774529 -1.40005705 -1.38277588 -1.36588703 -1.34937654 -1.33323117 -1.31743839 -1.30198626 -1.2\
0185 8686345 -1.27205918 -1.25756317 -1.24336562 -1.22945719 -1.21582897 -1.20247241 -1.18937936 -1.17654201 -1\
0186 .16395288 -1.15160481 -1.13949092 -1.12760462 -1.11593955 -1.10448965 -1.09324904 -1.08221211     -1.07137\
0187 342 -1.06072776 -1.0502701  -1.03999558} {
0188     add EtaPhiBins $eta $PhiBins
0189 }
0190   foreach eta {1.0 1.0502701  1.06072776 1.07137342 1.08221211 1.09324904 1.10448965 1.11593955 1.127604\
0191 62 1.13949092 1.15160481 1.16395288 1.17654201 1.18937936 1.20247241 1.21582897 1.22945719 1.24336562 1.25\
0192 756317 1.27205918 1.28686345 1.30198626 1.31743839 1.33323117 1.34937654 1.36588703 1.38277588 1.40005705 \
0193 1.41774529 1.43585618 1.45440623 1.47341295 1.4928949  1.51287184 1.53336478 1.55439612 1.57598979 1.59817\
0194 135 1.62096821 1.64440978 1.66852765 1.69335587 1.71893119 1.74529337 1.77248548 1.80055436 1.82955102 1.8\
0195 595312 1.89055593 1.92269228 1.95601417 1.99060337 2.02655061 2.063957 2.10293569 2.14361383 2.18613503 2.\
0196 23066235 2.27738197 2.3265078 2.3782873  2.43300894 2.49101173 2.55269788 2.61854952 2.68915144 2.76522251\
0197  2.84766006 2.93760447 3.03653567 3.14642305 3.26996837 3.3} {
0198     add EtaPhiBins $eta $PhiBins
0199 }
0200     
0201   add EnergyFraction {0} {0.0}
0202   # energy fractions for e, gamma and pi0                                                                  
0203   add EnergyFraction {11} {1.0}
0204   add EnergyFraction {22} {1.0}
0205   add EnergyFraction {111} {1.0}
0206   # energy fractions for muon, neutrinos and neutralinos                                                   
0207   add EnergyFraction {12} {0.0}
0208   add EnergyFraction {13} {0.0}
0209   add EnergyFraction {14} {0.0}
0210   add EnergyFraction {16} {0.0}
0211   add EnergyFraction {1000022} {0.0}
0212   add EnergyFraction {1000023} {0.0}
0213   add EnergyFraction {1000025} {0.0}
0214   add EnergyFraction {1000035} {0.0}
0215   add EnergyFraction {1000045} {0.0}
0216 # energy fractions for K0short and Lambda                                                                
0217   add EnergyFraction {310} {0.3}
0218   add EnergyFraction {3122} {0.3}
0219 
0220 
0221    set ResolutionFormula {
0222        ( eta> -1.46 && eta < 3.35 )  * sqrt(energy^2*0.025^2 + energy*0.11^2 )
0223      + ( eta> -3.35 && eta < -1.46 ) * sqrt(energy^2*0.030^2 + energy*0.10^2 )
0224    }
0225 
0226 }
0227 
0228 #############                                                                                              
0229 #   HCAL                                                                                                   
0230 #############                                                                                              
0231 
0232 module SimpleCalorimeter HCal {
0233   set ParticleInputArray ParticlePropagator/stableParticles
0234   set TrackInputArray ECal/eflowTracks
0235 
0236   set TowerOutputArray hcalTowers
0237   set EFlowTrackOutputArray eflowTracks
0238   set EFlowTowerOutputArray eflowNeutralHadrons
0239 
0240   set IsEcal false
0241 
0242   ##Assumes noise 100 MeV per tower.                                                                       
0243   set EnergyMin 0.5
0244   set EnergySignificanceMin 1.0
0245 
0246   set SmearTowerCenter true
0247 
0248   set SmearTowerCenter true
0249 
0250   set pi [expr {acos(-1)}]
0251 
0252   set PhiBins {}
0253   for {set i -30} {$i <=30} {incr i} {
0254       add PhiBins [expr {$i * $pi/30.0}]
0255   }
0256   for {set i -10} {$i <=10} {incr i} {
0257       set eta [expr {$i * 0.1}]
0258       add EtaPhiBins $eta $PhiBins
0259   }
0260 
0261   for {set i -30} {$i <=30} {incr i} {
0262       add PhiBins [expr {$i * $pi/30.0}]
0263   }
0264 
0265   foreach eta {-3.3 -2.95880652 -2.68264484 -2.46773612 -2.29224349 -2.14432155 -2.01681569 -1.90506801 \
0266 -1.80587261 -1.71692581 -1.63651428 -1.56332731 -1.49633825 -1.43472677 -1.37782606 -1.325086   -1.2760468\
0267 4 -1.23031998 -1.18757364 -1.14752205 -1.10991713 -1.07454199 -1.04120583 -1.00} {
0268       add EtaPhiBins $eta $PhiBins
0269   }
0270 
0271   foreach eta {1.0 1.04 1.075 1.1099 1.14752205 1.18757364 1.23031998 1.27604684 1.325086 1.37782606 1.4\
0272 3472677 1.49633825 1.56332731 1.63651428 1.71692581 1.80587261 1.90506801 2.01681569 2.14432155 2.29224349\
0273  2.46773612 2.68264484 2.95880652 3.3} {
0274       add EtaPhiBins $eta $PhiBins
0275   }
0276     
0277   add EnergyFraction {0} {1.0}
0278   # energy fractions for e, gamma and pi0                                                                  
0279   add EnergyFraction {11} {0.0}
0280   add EnergyFraction {22} {0.0}
0281   add EnergyFraction {111} {0.0}
0282   # energy fractions for muon, neutrinos and neutralinos                                                   
0283   add EnergyFraction {12} {0.0}
0284   add EnergyFraction {13} {0.0}
0285   add EnergyFraction {14} {0.0}
0286   add EnergyFraction {16} {0.0}
0287   add EnergyFraction {1000022} {0.0}
0288   add EnergyFraction {1000023} {0.0}
0289   add EnergyFraction {1000025} {0.0}
0290   add EnergyFraction {1000035} {0.0}
0291   add EnergyFraction {1000045} {0.0}
0292 
0293   add EnergyFraction {310} {0.7}
0294   add EnergyFraction {3122} {0.7}
0295 
0296   # set HCalResolutionFormula {resolution formula as a function of eta and energy}                         
0297 
0298   set ResolutionFormula {
0299        ( eta> -0.64 && eta <  3.20 )  * sqrt(energy^2*0.20^2 + energy*0.50^2)
0300      + ( eta>  3.20 && eta <  3.35 )  * sqrt(energy^2*0.40^2 + energy*0.90^2)
0301      + ( eta> -0.97 && eta < -0.64 )  * sqrt(energy^2*0.40^2 + energy*0.90^2)
0302   }
0303 }
0304 
0305 #################                                                                                          
0306 # Electron filter                                                                                          
0307 #################                                                                                          
0308 
0309 module PdgCodeFilter ElectronFilter {
0310   set InputArray HCal/eflowTracks
0311   set OutputArray electrons
0312   set Invert true
0313   add PdgCode {11}
0314   add PdgCode {-11}
0315 }
0316 ######################                                                                                     
0317 # ChargedHadronFilter                                                                                      
0318 ######################                                                                                     
0319 
0320 module PdgCodeFilter ChargedHadronFilter {
0321   set InputArray HCal/eflowTracks
0322   set OutputArray chargedHadrons
0323 
0324   add PdgCode {11}
0325   add PdgCode {-11}
0326   add PdgCode {13}
0327   add PdgCode {-13}
0328 }
0329 
0330 
0331 ###################################################                                                        
0332 # Tower Merger (in case not using e-flow algorithm)                                                        
0333 ###################################################                                                        
0334 
0335 module Merger Calorimeter {
0336 # add InputArray InputArray                                                                                
0337   add InputArray ECal/ecalTowers
0338   add InputArray HCal/hcalTowers
0339   set OutputArray towers
0340 }
0341 ####################                                                                                       
0342 # Energy flow merger                                                                                       
0343 ####################                                                                                       
0344 
0345 module Merger EFlowMerger {
0346 # add InputArray InputArray                                                                                
0347   add InputArray HCal/eflowTracks
0348   add InputArray ECal/eflowPhotons
0349   add InputArray HCal/eflowNeutralHadrons
0350   set OutputArray eflow
0351 }
0352 
0353 ######################                                                                                     
0354 # EFlowFilter                                                                                              
0355 ######################                                                                                     
0356 
0357 module PdgCodeFilter EFlowFilter {
0358   set InputArray EFlowMerger/eflow
0359   set OutputArray eflow
0360 
0361   add PdgCode {11}
0362   add PdgCode {-11}
0363   add PdgCode {13}
0364   add PdgCode {-13}
0365 }
0366 ###################                                                                                        
0367 # Photon efficiency                                                                                        
0368 ###################                                                                                        
0369 
0370 module Efficiency PhotonEfficiency {
0371   set InputArray ECal/eflowPhotons
0372   set OutputArray photons
0373 
0374   # set EfficiencyFormula {efficiency formula as a function of eta and pt}                                 
0375 
0376   # efficiency formula for photons                                                                         
0377     set EfficiencyFormula { 1}
0378 }
0379 module Isolation PhotonIsolation {
0380   set CandidateInputArray PhotonEfficiency/photons
0381   set IsolationInputArray EFlowFilter/eflow
0382 
0383   set OutputArray photons
0384 
0385   set DeltaRMax 0.5
0386 
0387   set PTMin 0.5
0388 
0389   set PTRatioMax 0.12
0390 }
0391 module Efficiency ElectronEfficiency {
0392   set InputArray ElectronFilter/electrons
0393   set OutputArray electrons
0394 
0395   # set EfficiencyFormula {efficiency formula as a function of eta and pt}                                 
0396 
0397   # efficiency formula for electrons                                                                       
0398     set EfficiencyFormula {1}
0399 }
0400 
0401 ####################                                                                                       
0402 # Electron isolation                                                                                       
0403 ####################                                                                                       
0404 
0405 module Isolation ElectronIsolation {
0406   set CandidateInputArray ElectronEfficiency/electrons
0407   set IsolationInputArray EFlowFilter/eflow
0408 
0409   set OutputArray electrons
0410 
0411   set DeltaRMax 0.5
0412 
0413   set PTMin 0.5
0414   set PTRatioMax 0.12
0415 }
0416 
0417 ###################                                                                                        
0418 # Missing ET merger                                                                                        
0419 ###################                                                                                        
0420 
0421 module Merger MissingET {
0422 # add InputArray InputArray                                                                                
0423   add InputArray EFlowMerger/eflow
0424   set MomentumOutputArray momentum
0425 }
0426 ##################                                                                                         
0427 # Scalar HT merger                                                                                         
0428 ##################                                                                                         
0429 
0430 module Merger ScalarHT {
0431 # add InputArray InputArray                                                                                
0432   add InputArray UniqueObjectFinder/jets
0433   add InputArray UniqueObjectFinder/electrons
0434   add InputArray UniqueObjectFinder/photons
0435 
0436   set EnergyOutputArray energy
0437 }
0438 #####################                                                                                      
0439 # Neutrino Filter                                                                                          
0440 #####################                                                                                      
0441 module PdgCodeFilter NeutrinoFilter {
0442   set InputArray Delphes/stableParticles
0443   set OutputArray filteredParticles
0444   set PTMin 0.0
0445   add PdgCode {12}
0446   add PdgCode {14}
0447   add PdgCode {16}
0448   add PdgCode {-12}
0449   add PdgCode {-14}
0450   add PdgCode {-16}
0451 
0452 }
0453 #####################                                                                                      
0454 # MC truth jet finder                                                                                      
0455 #####################                                                                                      
0456 
0457 module FastJetFinder GenJetFinder {
0458   set InputArray NeutrinoFilter/filteredParticles
0459 
0460   set OutputArray jets
0461 
0462   # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt                      
0463   set JetAlgorithm 6
0464   set ParameterR 1.0
0465 
0466   set JetPTMin 3.0
0467 }
0468 #########################                                                                                  
0469 # Gen Missing ET merger                                                                                    
0470 ########################                                                                                   
0471 
0472 module Merger GenMissingET {
0473 # add InputArray InputArray                                                                                
0474   add InputArray NeutrinoFilter/filteredParticles
0475   set MomentumOutputArray momentum
0476 }
0477 ############                                                                                               
0478 # Jet finder                                                                                               
0479 ############                                                                                               
0480 
0481 module FastJetFinder FastJetFinder {
0482 #  set InputArray Calorimeter/towers                                                                       
0483   set InputArray EFlowMerger/eflow
0484 
0485   set OutputArray jets
0486 
0487   # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt                      
0488   set JetAlgorithm 6
0489   set ParameterR 1.0
0490 
0491   set ComputeNsubjettiness 1
0492   set Beta 1.0
0493   set AxisMode 4
0494 set ComputeTrimming 1
0495   set RTrim 0.4
0496   set PtFracTrim 0.20
0497   #set PtFracTrim 0.05                                                                                     
0498 
0499   set ComputePruning 1
0500   set ZcutPrun 0.1
0501   set RcutPrun 0.5
0502   set RPrun 0.8
0503 
0504   set ComputeSoftDrop 1
0505   set BetaSoftDrop 0.0
0506   set SymmetryCutSoftDrop 0.1
0507   set R0SoftDrop 0.8
0508 
0509  set JetPTMin 3.0}
0510 ##################                                                                                         
0511 # Jet Energy Scale                                                                                         
0512 ##################                                                                                         
0513 
0514 module EnergyScale JetEnergyScale {
0515   set InputArray FastJetFinder/jets
0516   set OutputArray jets
0517 
0518   # scale formula for jets (do not apply it)                                                               
0519   set ScaleFormula {1.0}
0520 }
0521 
0522 module EnergyScale ElectronEnergyScale {
0523   set InputArray ElectronIsolation/electrons
0524   set OutputArray electrons
0525   set ScaleFormula {0.995}
0526 }
0527 
0528 
0529 ########################                                                                                   
0530 # Jet Flavor Association                                                                                   
0531 ########################                                                                                   
0532 
0533 module JetFlavorAssociation JetFlavorAssociation {
0534 
0535   set PartonInputArray Delphes/partons
0536   set ParticleInputArray Delphes/allParticles
0537   set ParticleLHEFInputArray Delphes/allParticlesLHEF
0538   set JetInputArray JetEnergyScale/jets
0539 
0540   set DeltaR 0.5
0541   set PartonPTMin 4.0
0542   set PartonEtaMax 4.0
0543 
0544 }
0545 module JetFlavorAssociation GenJetFlavorAssociation {
0546 
0547   set PartonInputArray Delphes/partons
0548   set ParticleInputArray Delphes/allParticles
0549   set ParticleLHEFInputArray Delphes/allParticlesLHEF
0550   set JetInputArray GenJetFinder/jets
0551 
0552   set DeltaR 0.5
0553   set PartonPTMin 1.0
0554   set PartonEtaMax 4.0
0555 
0556 }
0557 #####################################################                                                      
0558 # Find uniquely identified photons/electrons/tau/jets                                                      
0559 #####################################################                                                      
0560 
0561 module UniqueObjectFinder UniqueObjectFinder {
0562 # earlier arrays take precedence over later ones                                                           
0563 # add InputArray InputArray OutputArray                                                                    
0564   add InputArray PhotonIsolation/photons photons
0565   add InputArray ElectronEnergyScale/electrons electrons
0566   add InputArray JetEnergyScale/jets jets
0567 }
0568 module TreeWriter TreeWriter {
0569 # add Branch InputArray BranchName BranchClass                                                            
0570   add Branch Delphes/allParticles Particle GenParticle
0571 
0572   add Branch TrackMerger/tracks Track Track
0573   add Branch Calorimeter/towers Tower Tower
0574 
0575   add Branch HCal/eflowTracks EFlowTrack Track
0576   add Branch ECal/eflowPhotons EFlowPhoton Tower
0577   add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
0578 
0579   add Branch GenJetFinder/jets GenJet Jet
0580   add Branch GenMissingET/momentum GenMissingET MissingET
0581 
0582   add Branch UniqueObjectFinder/jets Jet Jet
0583   add Branch UniqueObjectFinder/electrons Electron Electron
0584   add Branch UniqueObjectFinder/photons Photon Photon
0585 
0586   add Branch MissingET/momentum MissingET MissingET
0587   add Branch ScalarHT/energy ScalarHT ScalarHT
0588 }
0589 
0590