Changes in / [2b5ff2c:584e2e9] in git
- Files:
-
- 9 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
r2b5ff2c r584e2e9 428 428 modules/JetPileUpSubtractor.h \ 429 429 modules/TrackPileUpSubtractor.h \ 430 modules/TrackTimingPileUpSubtractor.h \ 430 431 modules/TaggingParticlesSkimmer.h \ 431 432 modules/PileUpJetID.h \ … … 444 445 modules/VertexFinder.h \ 445 446 modules/VertexFinderDA4D.h \ 447 modules/HighMassVertexRecover.h \ 446 448 modules/DecayFilter.h \ 447 449 modules/ExampleModule.h … … 782 784 external/Hector/H_BeamParticle.h \ 783 785 external/Hector/H_RecRPObject.h 786 tmp/modules/HighMassVertexRecover.$(ObjSuf): \ 787 modules/HighMassVertexRecover.$(SrcSuf) \ 788 modules/HighMassVertexRecover.h \ 789 classes/DelphesClasses.h \ 790 classes/DelphesFactory.h \ 791 classes/DelphesFormula.h \ 792 external/ExRootAnalysis/ExRootResult.h \ 793 external/ExRootAnalysis/ExRootFilter.h \ 794 external/ExRootAnalysis/ExRootClassifier.h 784 795 tmp/modules/IdentificationMap.$(ObjSuf): \ 785 796 modules/IdentificationMap.$(SrcSuf) \ … … 1016 1027 modules/TrackSmearing.$(SrcSuf) \ 1017 1028 modules/TrackSmearing.h \ 1029 classes/DelphesClasses.h \ 1030 classes/DelphesFactory.h \ 1031 classes/DelphesFormula.h \ 1032 external/ExRootAnalysis/ExRootClassifier.h \ 1033 external/ExRootAnalysis/ExRootFilter.h \ 1034 external/ExRootAnalysis/ExRootResult.h 1035 tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf): \ 1036 modules/TrackTimingPileUpSubtractor.$(SrcSuf) \ 1037 modules/TrackTimingPileUpSubtractor.h \ 1018 1038 classes/DelphesClasses.h \ 1019 1039 classes/DelphesFactory.h \ … … 1058 1078 classes/DelphesFormula.h \ 1059 1079 classes/DelphesPileUpReader.h \ 1060 external/ExRootAnalysis/ExRoot Classifier.h \1061 external/ExRootAnalysis/ExRootFilter.h \ 1062 external/ExRootAnalysis/ExRoot Result.h1080 external/ExRootAnalysis/ExRootResult.h \ 1081 external/ExRootAnalysis/ExRootFilter.h \ 1082 external/ExRootAnalysis/ExRootClassifier.h 1063 1083 tmp/modules/VertexSorter.$(ObjSuf): \ 1064 1084 modules/VertexSorter.$(SrcSuf) \ … … 1146 1166 tmp/modules/ExampleModule.$(ObjSuf) \ 1147 1167 tmp/modules/Hector.$(ObjSuf) \ 1168 tmp/modules/HighMassVertexRecover.$(ObjSuf) \ 1148 1169 tmp/modules/IdentificationMap.$(ObjSuf) \ 1149 1170 tmp/modules/ImpactParameterSmearing.$(ObjSuf) \ … … 1172 1193 tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \ 1173 1194 tmp/modules/TrackSmearing.$(ObjSuf) \ 1195 tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf) \ 1174 1196 tmp/modules/TreeWriter.$(ObjSuf) \ 1175 1197 tmp/modules/UniqueObjectFinder.$(ObjSuf) \ … … 2093 2115 @touch $@ 2094 2116 2117 modules/TrackTimingPileUpSubtractor.h: \ 2118 classes/DelphesModule.h 2119 @touch $@ 2120 2095 2121 modules/Delphes.h: \ 2096 2122 classes/DelphesModule.h … … 2267 2293 external/fastjet/config.h: \ 2268 2294 external/fastjet/config_win.h 2295 @touch $@ 2296 2297 modules/HighMassVertexRecover.h: \ 2298 classes/DelphesModule.h \ 2299 classes/DelphesClasses.h 2269 2300 @touch $@ 2270 2301 -
cards/CMS_PhaseII/propagatorTest.tcl
r2b5ff2c r584e2e9 34 34 35 35 VertexFinderDA4D 36 HighMassVertexRecover 37 38 CandidateFilter 36 39 37 40 TreeWriter … … 236 239 } 237 240 241 ###################################### 242 # Heavy(slow) particles vertex recover 243 ###################################### 244 245 module HighMassVertexRecover HighMassVertexRecover { 246 set TrackInputArray VertexFinderDAClusterizerZT/tracks 247 set VertexInputArray VertexFinderDAClusterizerZT/vertices 248 249 set TrackOutputArray tracks 250 set VertexOutputArray vertices 251 252 set Verbose 0 253 } 254 255 256 ######################################## 257 # Remove uninteresting tracks # 258 ######################################## 259 260 module CandidateFilter CandidateFilter { 261 set InputArray HighMassVertexRecover/tracks 262 set OutputArray tracks 263 264 set PtMin 10 265 set MassMin 0.2 266 } 267 268 238 269 ################## 239 270 # ROOT tree writer … … 243 274 # add Branch InputArray BranchName BranchClass 244 275 add Branch PileUpMerger/stableParticles Particle GenParticle 276 add Branch PileUpMerger/vertices GenVertex Vertex 245 277 add Branch TimeSmearing/tracks Track Track 246 278 add Branch VertexFinderDA4D/vertices Vertex4D Vertex 247 add Branch PileUpMerger/vertices GenVertex Vertex 248 } 279 add Branch HighMassVertexRecover/vertices Vertex4D Vertex 280 add Branch CandidateFilter/tracks Track Track 281 } -
cards/FCC/FCChh_PileUpVtx.tcl
r2b5ff2c r584e2e9 12 12 ####################################### 13 13 14 set MaxEvents 100 15 set RandomSeed 123 16 14 17 set ExecutionPath { 15 18 19 BeamSpotFilter 20 PileUpMerger 16 21 ParticlePropagator 17 22 … … 25 30 26 31 TrackMerger 32 33 TrackSmearing 34 TimeSmearing 35 36 VertexFinderDA4D 37 38 TrackTimingPileUpSubtractor 27 39 28 40 ECal … … 68 80 } 69 81 82 ####################### 83 # GenBeamSpotFilter 84 # Saves a particle intended to represent the beamspot 85 ####################### 86 87 module BeamSpotFilter BeamSpotFilter { 88 set InputArray Delphes/stableParticles 89 set OutputArray beamSpotParticle 90 91 } 92 93 ############### 94 # PileUp Merger 95 ############### 96 97 module PileUpMerger PileUpMerger { 98 set InputArray Delphes/stableParticles 99 100 set ParticleOutputArray stableParticles 101 set VertexOutputArray vertices 102 103 # pre-generated minbias input file 104 set PileUpFile MinBias.pileup 105 106 # average expected pile up 107 set MeanPileUp 10 108 109 # 0-poisson, 1-uniform, 2-delta 110 set PileUpDistribution 2 111 112 # maximum spread in the beam direction in m 113 set ZVertexSpread 0.25 114 115 # maximum spread in time in s 116 set TVertexSpread 800E-12 117 118 # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s) 119 120 #set VertexDistributionFormula {exp(-(t^2/(2*(0.063/2.99792458E8*exp(-(z^2/(2*(0.063)^2))))^2)))} 121 set VertexDistributionFormula {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))} 122 123 # taking 5.3 cm x 160 ps 124 125 #set VertexDistributionFormula { (abs(t) <= 160e-12) * (abs(z) <= 0.053) * (1.00) + 126 # (abs(t) > 160e-12) * (abs(z) <= 0.053) * (0.00) + 127 # (abs(t) <= 160e-12) * (abs(z) > 0.053) * (0.00) + 128 # (abs(t) > 160e-12) * (abs(z) > 0.053) * (0.00)} 129 130 } 70 131 71 132 ################################# … … 74 135 75 136 module ParticlePropagator ParticlePropagator { 76 set InputArray Delphes/stableParticles137 set InputArray PileUpMerger/stableParticles 77 138 set OutputArray stableParticles 78 139 set ChargedHadronOutputArray chargedHadrons … … 204 265 205 266 206 #### ADD TRACKSMEARING 207 #### ADD TIMESMEARING 208 267 ######################################## 268 # Smear tracks 269 ######################################## 270 271 module TrackSmearing TrackSmearing { 272 set InputArray TrackMerger/tracks 273 set OutputArray tracks 274 set ApplyToPileUp true 275 276 # from http://mersi.web.cern.ch/mersi/layouts/.private/Baseline_tilted_200_Pixel_1_1_1/index.html 277 source trackResolutionCMS.tcl 278 # FIXME !!!! we need to add track resolution of FCC-hh baseline detector !!!!! 279 } 280 281 ######################################## 282 # Time Smearing 283 ######################################## 284 285 module TimeSmearing TimeSmearing { 286 set InputArray TrackSmearing/tracks 287 set OutputArray tracks 288 289 # assume 20 ps resolution for now 290 set TimeResolution 20E-12 291 } 292 293 ################################## 294 # Primary vertex reconstruction 295 ################################## 296 297 298 module VertexFinderDA4D VertexFinderDA4D { 299 set InputArray TimeSmearing/tracks 300 301 set OutputArray tracks 302 set VertexOutputArray vertices 303 304 set Verbose 0 305 set MinPT 1.0 306 307 # in mm 308 set VertexSpaceSize 0.5 309 310 # in s 311 set VertexTimeSize 10E-12 312 313 set UseTc 1 314 set BetaMax 0.1 315 set BetaStop 1.0 316 set CoolingFactor 0.8 317 set MaxIterations 100 318 319 # in mm 320 set DzCutOff 40 321 set D0CutOff 30 322 323 } 324 325 ########################## 326 # Track pile-up subtractor 327 ########################## 328 329 module TrackTimingPileUpSubtractor TrackTimingPileUpSubtractor { 330 # add InputArray InputArray OutputArray 331 332 add InputArray ChargedHadronMomentumSmearing/chargedHadrons 333 add InputArray ElectronMomentumSmearing/electrons 334 add InputArray MuonMomentumSmearing/muons 335 336 set VertexInputArray VertexFinderDA4D/vertices 337 # assume perfect pile-up subtraction for tracks with |z| > fZVertexResolution 338 # Z vertex resolution in m 339 set ZVertexResolution {0.0001} 340 } 209 341 210 342 … … 217 349 module SimpleCalorimeter ECal { 218 350 set ParticleInputArray ParticlePropagator/stableParticles 219 set TrackInputArray T rackMerger/tracks351 set TrackInputArray TimeSmearing/tracks 220 352 221 353 set TowerOutputArray ecalTowers … … 374 506 } 375 507 508 376 509 ################# 377 510 # Electron filter … … 494 627 set MomentumOutputArray momentum 495 628 } 496 497 498 629 499 630 … … 873 1004 add Branch GenMissingET/momentum GenMissingET MissingET 874 1005 875 add Branch T rackMerger/tracks Track Track1006 add Branch TimeSmearing/tracks Track Track 876 1007 add Branch Calorimeter/towers Tower Tower 877 1008 … … 892 1023 add Branch MissingET/momentum MissingET MissingET 893 1024 add Branch ScalarHT/energy ScalarHT ScalarHT 894 } 895 1025 add Branch VertexFinderDA4D/vertices Vertex4D Vertex 1026 } 1027 -
modules/ModulesLinkDef.h
r2b5ff2c r584e2e9 56 56 #include "modules/JetPileUpSubtractor.h" 57 57 #include "modules/TrackPileUpSubtractor.h" 58 #include "modules/TrackTimingPileUpSubtractor.h" 58 59 #include "modules/TaggingParticlesSkimmer.h" 59 60 #include "modules/PileUpJetID.h" … … 72 73 #include "modules/VertexFinder.h" 73 74 #include "modules/VertexFinderDA4D.h" 75 #include "modules/HighMassVertexRecover.h" 74 76 #include "modules/DecayFilter.h" 75 77 #include "modules/ExampleModule.h" … … 111 113 #pragma link C++ class JetPileUpSubtractor+; 112 114 #pragma link C++ class TrackPileUpSubtractor+; 115 #pragma link C++ class TrackTimingPileUpSubtractor+; 113 116 #pragma link C++ class TaggingParticlesSkimmer+; 114 117 #pragma link C++ class PileUpJetID+; … … 127 130 #pragma link C++ class VertexFinder+; 128 131 #pragma link C++ class VertexFinderDA4D+; 132 #pragma link C++ class HighMassVertexRecover+; 129 133 #pragma link C++ class DecayFilter+; 130 134 #pragma link C++ class ExampleModule+; -
modules/TrackPileUpSubtractor.cc
r2b5ff2c r584e2e9 117 117 void TrackPileUpSubtractor::Process() 118 118 { 119 Candidate *candidate, *particle ;119 Candidate *candidate, *particle, *particleTest; 120 120 map<TIterator *, TObjArray *>::iterator itInputMap; 121 121 TIterator *iterator; … … 123 123 Double_t z, zvtx = 0; 124 124 Double_t pt, eta, phi, e; 125 125 Double_t sumPT2 = 0; 126 Double_t sumSquare = 0; 127 int counter = 0; 128 Double_t tempPTSquare = 0; 129 Double_t tempZVertex = 0; 126 130 // find z position of primary vertex 127 131 132 cout << " ---------- NEW EVENT --------- " << endl; 133 128 134 fItVertexInputArray->Reset(); 135 cout << " NUMBER OF VERTICES : " << fVertexInputArray->GetEntriesFast() << endl; 129 136 while((candidate = static_cast<Candidate *>(fItVertexInputArray->Next()))) 130 137 { 131 if(!candidate->IsPU) 132 { 133 zvtx = candidate->Position.Z(); 134 // break; 135 } 138 cout << " ---------- NEW VERTEX --------- " << candidate->IsPU << endl; 139 tempZVertex = candidate->Position.Z(); 140 tempPTSquare = candidate->SumPT2; 141 if(tempPTSquare > sumSquare) 142 { 143 sumSquare = tempPTSquare; 144 zvtx = tempZVertex; 145 cout << " Sum Square : " << sumSquare << " Z of Vertex : " << zvtx << " Is PileUp : " << candidate->IsPU << endl; 146 } 147 148 /* 149 for(int i = 0; i < candidate->GetCandidates()->GetEntriesFast(); i++) 150 { 151 particleTest = static_cast<Candidate *>(candidate->GetCandidates()->At(i)); 152 TLorentzVector &candidateMomentumNew = particleTest->Momentum; 153 if(candidateMomentumNew.Pt() > 1.0) 154 sumSquare += (candidateMomentumNew.Pt()*candidateMomentumNew.Pt()); 155 cout << candidateMomentumNew.Pt() << " " << candidate->SumPT2 << " counter : " << candidate->GetCandidates()->GetEntriesFast() << endl; 156 } 157 */ 136 158 } 137 159 … … 147 169 { 148 170 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0)); 149 const TLorentzVector &candidateMomentum = particle->Momentum;171 const TLorentzVector &candidateMomentum = candidate->Momentum; 150 172 151 173 eta = candidateMomentum.Eta(); … … 154 176 e = candidateMomentum.E(); 155 177 156 z = particle->Position.Z(); 178 z = candidate->Position.Z(); 179 counter ++; 180 //sum = pt*pt; 181 if(pt > 1.0) 182 sumPT2 += pt*pt; 157 183 158 184 // apply pile-up subtraction 159 185 // assume perfect pile-up subtraction for tracks outside fZVertexResolution 160 161 if(candidate->Charge != 0 && candidate->IsPU && TMath::Abs(z - zvtx) > fFormula->Eval(pt, eta, phi, e) * 1.0e3) 186 // cout << particle->IsRecoPU << " ParticleSumSquare : " << sumPT2 << " VertexResult : " << sumSquare << " Added SumSquare : " << zvtx << endl; 187 //cout << pt << " " << candidate->IsPU << " " << TMath::Abs(z - zvtx) << " " << sumPT2 << " " << sumPT2 << endl; 188 189 190 if(particle->Charge != 0 && TMath::Abs(z - zvtx) > fFormula->Eval(pt, eta, phi, e) * 1.0e3) 162 191 { 163 192 candidate->IsRecoPU = 1; 193 //cout << TMath::Abs(z - zvtx) << " " << fFormula->Eval(pt, eta, phi, e) * 1.0e3 << endl; 164 194 } 165 195 else
Note:
See TracChangeset
for help on using the changeset viewer.