Changes in / [d4e5b6a:2b5ff2c] in git
- Files:
-
- 9 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
rd4e5b6a r2b5ff2c 428 428 modules/JetPileUpSubtractor.h \ 429 429 modules/TrackPileUpSubtractor.h \ 430 modules/TrackTimingPileUpSubtractor.h \431 430 modules/TaggingParticlesSkimmer.h \ 432 431 modules/PileUpJetID.h \ … … 445 444 modules/VertexFinder.h \ 446 445 modules/VertexFinderDA4D.h \ 447 modules/HighMassVertexRecover.h \448 446 modules/DecayFilter.h \ 449 447 modules/ExampleModule.h … … 784 782 external/Hector/H_BeamParticle.h \ 785 783 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.h795 784 tmp/modules/IdentificationMap.$(ObjSuf): \ 796 785 modules/IdentificationMap.$(SrcSuf) \ … … 1027 1016 modules/TrackSmearing.$(SrcSuf) \ 1028 1017 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.h1035 tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf): \1036 modules/TrackTimingPileUpSubtractor.$(SrcSuf) \1037 modules/TrackTimingPileUpSubtractor.h \1038 1018 classes/DelphesClasses.h \ 1039 1019 classes/DelphesFactory.h \ … … 1078 1058 classes/DelphesFormula.h \ 1079 1059 classes/DelphesPileUpReader.h \ 1080 external/ExRootAnalysis/ExRoot Result.h \1081 external/ExRootAnalysis/ExRootFilter.h \ 1082 external/ExRootAnalysis/ExRoot Classifier.h1060 external/ExRootAnalysis/ExRootClassifier.h \ 1061 external/ExRootAnalysis/ExRootFilter.h \ 1062 external/ExRootAnalysis/ExRootResult.h 1083 1063 tmp/modules/VertexSorter.$(ObjSuf): \ 1084 1064 modules/VertexSorter.$(SrcSuf) \ … … 1166 1146 tmp/modules/ExampleModule.$(ObjSuf) \ 1167 1147 tmp/modules/Hector.$(ObjSuf) \ 1168 tmp/modules/HighMassVertexRecover.$(ObjSuf) \1169 1148 tmp/modules/IdentificationMap.$(ObjSuf) \ 1170 1149 tmp/modules/ImpactParameterSmearing.$(ObjSuf) \ … … 1193 1172 tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \ 1194 1173 tmp/modules/TrackSmearing.$(ObjSuf) \ 1195 tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf) \1196 1174 tmp/modules/TreeWriter.$(ObjSuf) \ 1197 1175 tmp/modules/UniqueObjectFinder.$(ObjSuf) \ … … 2115 2093 @touch $@ 2116 2094 2117 modules/TrackTimingPileUpSubtractor.h: \2118 classes/DelphesModule.h2119 @touch $@2120 2121 2095 modules/Delphes.h: \ 2122 2096 classes/DelphesModule.h … … 2293 2267 external/fastjet/config.h: \ 2294 2268 external/fastjet/config_win.h 2295 @touch $@2296 2297 modules/HighMassVertexRecover.h: \2298 classes/DelphesModule.h \2299 classes/DelphesClasses.h2300 2269 @touch $@ 2301 2270 -
cards/CMS_PhaseII/propagatorTest.tcl
rd4e5b6a r2b5ff2c 34 34 35 35 VertexFinderDA4D 36 HighMassVertexRecover37 38 CandidateFilter39 36 40 37 TreeWriter … … 239 236 } 240 237 241 ######################################242 # Heavy(slow) particles vertex recover243 ######################################244 245 module HighMassVertexRecover HighMassVertexRecover {246 set TrackInputArray VertexFinderDAClusterizerZT/tracks247 set VertexInputArray VertexFinderDAClusterizerZT/vertices248 249 set TrackOutputArray tracks250 set VertexOutputArray vertices251 252 set Verbose 0253 }254 255 256 ########################################257 # Remove uninteresting tracks #258 ########################################259 260 module CandidateFilter CandidateFilter {261 set InputArray HighMassVertexRecover/tracks262 set OutputArray tracks263 264 set PtMin 10265 set MassMin 0.2266 }267 268 269 238 ################## 270 239 # ROOT tree writer … … 274 243 # add Branch InputArray BranchName BranchClass 275 244 add Branch PileUpMerger/stableParticles Particle GenParticle 276 add Branch PileUpMerger/vertices GenVertex Vertex277 245 add Branch TimeSmearing/tracks Track Track 278 246 add Branch VertexFinderDA4D/vertices Vertex4D Vertex 279 add Branch HighMassVertexRecover/vertices Vertex4D Vertex 280 add Branch CandidateFilter/tracks Track Track 281 } 247 add Branch PileUpMerger/vertices GenVertex Vertex 248 } -
cards/FCC/FCChh_PileUpVtx.tcl
rd4e5b6a r2b5ff2c 12 12 ####################################### 13 13 14 set MaxEvents 10015 set RandomSeed 12316 17 14 set ExecutionPath { 18 15 19 BeamSpotFilter20 PileUpMerger21 16 ParticlePropagator 22 17 … … 30 25 31 26 TrackMerger 32 33 TrackSmearing34 TimeSmearing35 36 VertexFinderDA4D37 38 TrackTimingPileUpSubtractor39 27 40 28 ECal … … 80 68 } 81 69 82 #######################83 # GenBeamSpotFilter84 # Saves a particle intended to represent the beamspot85 #######################86 87 module BeamSpotFilter BeamSpotFilter {88 set InputArray Delphes/stableParticles89 set OutputArray beamSpotParticle90 91 }92 93 ###############94 # PileUp Merger95 ###############96 97 module PileUpMerger PileUpMerger {98 set InputArray Delphes/stableParticles99 100 set ParticleOutputArray stableParticles101 set VertexOutputArray vertices102 103 # pre-generated minbias input file104 set PileUpFile MinBias.pileup105 106 # average expected pile up107 set MeanPileUp 10108 109 # 0-poisson, 1-uniform, 2-delta110 set PileUpDistribution 2111 112 # maximum spread in the beam direction in m113 set ZVertexSpread 0.25114 115 # maximum spread in time in s116 set TVertexSpread 800E-12117 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 ps124 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 }131 70 132 71 ################################# … … 135 74 136 75 module ParticlePropagator ParticlePropagator { 137 set InputArray PileUpMerger/stableParticles76 set InputArray Delphes/stableParticles 138 77 set OutputArray stableParticles 139 78 set ChargedHadronOutputArray chargedHadrons … … 265 204 266 205 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 } 206 #### ADD TRACKSMEARING 207 #### ADD TIMESMEARING 208 341 209 342 210 … … 349 217 module SimpleCalorimeter ECal { 350 218 set ParticleInputArray ParticlePropagator/stableParticles 351 set TrackInputArray T imeSmearing/tracks219 set TrackInputArray TrackMerger/tracks 352 220 353 221 set TowerOutputArray ecalTowers … … 506 374 } 507 375 508 509 376 ################# 510 377 # Electron filter … … 627 494 set MomentumOutputArray momentum 628 495 } 496 497 629 498 630 499 … … 1004 873 add Branch GenMissingET/momentum GenMissingET MissingET 1005 874 1006 add Branch T imeSmearing/tracks Track Track875 add Branch TrackMerger/tracks Track Track 1007 876 add Branch Calorimeter/towers Tower Tower 1008 877 … … 1023 892 add Branch MissingET/momentum MissingET MissingET 1024 893 add Branch ScalarHT/energy ScalarHT ScalarHT 1025 add Branch VertexFinderDA4D/vertices Vertex4D Vertex 1026 } 1027 894 } 895 -
modules/ModulesLinkDef.h
rd4e5b6a r2b5ff2c 56 56 #include "modules/JetPileUpSubtractor.h" 57 57 #include "modules/TrackPileUpSubtractor.h" 58 #include "modules/TrackTimingPileUpSubtractor.h"59 58 #include "modules/TaggingParticlesSkimmer.h" 60 59 #include "modules/PileUpJetID.h" … … 73 72 #include "modules/VertexFinder.h" 74 73 #include "modules/VertexFinderDA4D.h" 75 #include "modules/HighMassVertexRecover.h"76 74 #include "modules/DecayFilter.h" 77 75 #include "modules/ExampleModule.h" … … 113 111 #pragma link C++ class JetPileUpSubtractor+; 114 112 #pragma link C++ class TrackPileUpSubtractor+; 115 #pragma link C++ class TrackTimingPileUpSubtractor+;116 113 #pragma link C++ class TaggingParticlesSkimmer+; 117 114 #pragma link C++ class PileUpJetID+; … … 130 127 #pragma link C++ class VertexFinder+; 131 128 #pragma link C++ class VertexFinderDA4D+; 132 #pragma link C++ class HighMassVertexRecover+;133 129 #pragma link C++ class DecayFilter+; 134 130 #pragma link C++ class ExampleModule+; -
modules/TrackPileUpSubtractor.cc
rd4e5b6a r2b5ff2c 117 117 void TrackPileUpSubtractor::Process() 118 118 { 119 Candidate *candidate, *particle , *particleTest;119 Candidate *candidate, *particle; 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 Double_t sumPT2 = 0; 126 Double_t sumSquare = 0; 127 int counter = 0; 128 Double_t tempPTSquare = 0; 129 Double_t tempZVertex = 0; 125 130 126 // find z position of primary vertex 131 127 132 cout << " ---------- NEW EVENT --------- " << endl;133 134 128 fItVertexInputArray->Reset(); 135 cout << " NUMBER OF VERTICES : " << fVertexInputArray->GetEntriesFast() << endl;136 129 while((candidate = static_cast<Candidate *>(fItVertexInputArray->Next()))) 137 130 { 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 */ 131 if(!candidate->IsPU) 132 { 133 zvtx = candidate->Position.Z(); 134 // break; 135 } 158 136 } 159 137 … … 169 147 { 170 148 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0)); 171 const TLorentzVector &candidateMomentum = candidate->Momentum;149 const TLorentzVector &candidateMomentum = particle->Momentum; 172 150 173 151 eta = candidateMomentum.Eta(); … … 176 154 e = candidateMomentum.E(); 177 155 178 z = candidate->Position.Z(); 179 counter ++; 180 //sum = pt*pt; 181 if(pt > 1.0) 182 sumPT2 += pt*pt; 156 z = particle->Position.Z(); 183 157 184 158 // apply pile-up subtraction 185 159 // assume perfect pile-up subtraction for tracks outside fZVertexResolution 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 160 189 190 if(particle->Charge != 0 && TMath::Abs(z - zvtx) > fFormula->Eval(pt, eta, phi, e) * 1.0e3) 161 if(candidate->Charge != 0 && candidate->IsPU && TMath::Abs(z - zvtx) > fFormula->Eval(pt, eta, phi, e) * 1.0e3) 191 162 { 192 163 candidate->IsRecoPU = 1; 193 //cout << TMath::Abs(z - zvtx) << " " << fFormula->Eval(pt, eta, phi, e) * 1.0e3 << endl;194 164 } 195 165 else
Note:
See TracChangeset
for help on using the changeset viewer.