Changeset 03b9c0f in git
- Timestamp:
- Jan 6, 2020, 10:13:21 PM (5 years ago)
- Branches:
- Timing
- Children:
- 7939c6c
- Parents:
- d4e5b6a
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
cards/FCC/FCChh_PileUpVtx.tcl
rd4e5b6a r03b9c0f 17 17 set ExecutionPath { 18 18 19 BeamSpotFilter20 19 PileUpMerger 21 20 ParticlePropagator … … 32 31 33 32 TrackSmearing 34 TimeSmearing 35 36 VertexFinderDA4D 37 38 TrackTimingPileUpSubtractor 33 TimeSmearing 39 34 40 35 ECal 41 36 HCal 37 38 TimeSmearingMIP 39 TimeSmearingPhotons 40 TimeSmearingNH 42 41 43 42 Calorimeter 44 43 EFlowMerger 45 44 EFlowFilter 45 46 VertexFinderDA4D 47 TrackTimingPileUpSubtractor 48 49 HighMassVertexRecover 46 50 47 51 PhotonEfficiency … … 78 82 79 83 TreeWriter 80 }81 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 84 } 92 85 … … 288 281 289 282 # 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} 283 set TimeResolution {20E-12} 340 284 } 341 285 … … 506 450 } 507 451 452 ######################################## 453 # Time Smearing Neutral MIP 454 ######################################## 455 456 module TimeSmearingNeutral TimeSmearingMIP { 457 set InputArray HCal/eflowTracks 458 set OutputArray timeSmearingMIP 459 460 # assume 20 ps resolution for now 461 set TimeResolution {30E-12} 462 } 463 464 ######################################## 465 # Time Smearing Neutral Photons 466 ######################################## 467 468 module TimeSmearingNeutral TimeSmearingPhotons { 469 set InputArray HCal/eflowTracks 470 set OutputArray timeSmearingPhotons 471 } 472 473 ######################################## 474 # Time Smearing Neutral NeutralHadrons 475 ######################################## 476 477 module TimeSmearingNeutral TimeSmearingNH { 478 set InputArray HCal/eflowTracks 479 set OutputArray timeSmearingNH 480 481 # assume 20 ps resolution for now 482 set TimeResolution {30E-12} 483 } 484 508 485 509 486 ################# … … 573 550 } 574 551 552 ################################## 553 # Primary vertex reconstruction 554 ################################## 555 556 557 module VertexFinderDA4D VertexFinderDA4D { 558 set InputArray TimeSmearing/tracks 559 560 set OutputArray tracks 561 set VertexOutputArray vertices 562 563 set Verbose 0 564 set MinPT 1.0 565 566 # in mm 567 set VertexSpaceSize 0.5 568 569 # in s 570 set VertexTimeSize 10E-12 571 572 set UseTc 1 573 set BetaMax 0.1 574 set BetaStop 1.0 575 set CoolingFactor 0.8 576 set MaxIterations 100 577 578 # in mm 579 set DzCutOff 40 580 set D0CutOff 30 581 582 } 583 584 ########################## 585 # Track pile-up subtractor 586 ########################## 587 588 module TrackTimingPileUpSubtractor TrackTimingPileUpSubtractor { 589 # add InputArray InputArray OutputArray 590 591 add InputArray ChargedHadronMomentumSmearing/chargedHadrons 592 add InputArray ElectronMomentumSmearing/electrons 593 add InputArray MuonMomentumSmearing/muons 594 add InputArray EFlowMerger/eflow 595 596 set VertexInputArray VertexFinderDA4D/vertices 597 598 set ZVertexResolution {3} 599 set TVertexResolution {3} 600 } 601 602 ###################################### 603 # Heavy(slow) particles vertex recover 604 ###################################### 605 606 module HighMassVertexRecover HighMassVertexRecover { 607 set TrackInputArray VertexFinderDA4D/tracks 608 set VertexInputArray VertexFinderDA4D/vertices 609 610 set TrackOutputArray tracks 611 set VertexOutputArray vertices 612 613 set Verbose 0 614 615 } 575 616 576 617 ################### … … 1024 1065 add Branch ScalarHT/energy ScalarHT ScalarHT 1025 1066 add Branch VertexFinderDA4D/vertices Vertex4D Vertex 1026 } 1027 1067 1068 add Branch HighMassVertexRecover/tracks Track Track 1069 } 1070 -
modules/ModulesLinkDef.h
rd4e5b6a r03b9c0f 38 38 #include "modules/ImpactParameterSmearing.h" 39 39 #include "modules/TimeSmearing.h" 40 #include "modules/TimeSmearingNeutral.h" 40 41 #include "modules/SimpleCalorimeter.h" 41 42 #include "modules/DenseTrackFilter.h" … … 55 56 #include "modules/PileUpMerger.h" 56 57 #include "modules/JetPileUpSubtractor.h" 57 #include "modules/TrackPileUpSubtractor.h"58 58 #include "modules/TrackTimingPileUpSubtractor.h" 59 59 #include "modules/TaggingParticlesSkimmer.h" … … 95 95 #pragma link C++ class ImpactParameterSmearing+; 96 96 #pragma link C++ class TimeSmearing+; 97 #pragma link C++ class TimeSmearingNeutral+; 97 98 #pragma link C++ class SimpleCalorimeter+; 98 99 #pragma link C++ class DenseTrackFilter+; … … 112 113 #pragma link C++ class PileUpMerger+; 113 114 #pragma link C++ class JetPileUpSubtractor+; 114 #pragma link C++ class TrackPileUpSubtractor+;115 115 #pragma link C++ class TrackTimingPileUpSubtractor+; 116 116 #pragma link C++ class TaggingParticlesSkimmer+; -
modules/TrackTimingPileUpSubtractor.cc
rd4e5b6a r03b9c0f 75 75 76 76 // read resolution formula in m 77 fFormula->Compile(GetString("ZVertexResolution", "0.001")); 77 fZVertexResolution = GetDouble("ZVertexResolution", 3); 78 fTVertexResolution = GetDouble("TVertexResolution", 3); 78 79 79 80 fPTMin = GetDouble("PTMin", 0.); … … 128 129 Double_t tempPTSquare = 0; 129 130 Double_t pt, eta, phi, e; 130 Double_t distance = 0;131 Double_t distanceCharged, distanceNeutral = 0; 131 132 132 133 // find z position of primary vertex … … 143 144 tvtx = candidate->Position.T(); 144 145 tvtx_err = candidate->PositionError.T(); 145 cout << " initial : " << candidate->InitialPosition.T() << " final : " << candidate->Position.T() << endl;146 146 } 147 147 } … … 167 167 z = particle->Position.Z(); 168 168 z_err = particle->PositionError.Z(); 169 t = particle-> Position.T();169 t = particle->InitialPosition.T(); 170 170 t_err = particle->PositionError.T(); 171 171 172 // apply pile-up subtraction 173 distance = pow((zvtx - z),2)/pow((zvtx_err - z_err),2) + pow((tvtx - t),2)/pow((tvtx_err - t_err),2); 174 //cout << " t : " << tvtx << " t(particle)" << t << endl; 175 // here I calculated distance using Z and T of selected vertex (highest sum Pt square) and particles 176 // however z_err of vertices is gives 0 because of using CMS trackResolutionCMS.tcl (in that formula, there is limitation on |eta| < 2.5) 177 // thats why I used TMath::Abs(z - zvtx) < 0.005 && TMath::Abs(t - tvtx) < 5.0 172 distanceCharged = pow((zvtx - z),2)/pow((zvtx_err - z_err),2) + pow((tvtx - t),2)/pow((tvtx_err - t_err),2); 173 distanceNeutral = pow((tvtx - t),2)/pow((tvtx_err - t_err),2); 178 174 179 if(candidate->Charge != 0 && TMath::Abs(z - zvtx) < 0.005 && TMath::Abs(t - tvtx) < 5.0)175 if(candidate->Charge != 0 && distanceCharged < fZVertexResolution) 180 176 { 181 177 candidate->IsRecoPU = 1; 182 178 } 179 else if(candidate->Charge == 0 && distanceNeutral < fTVertexResolution) 180 { 181 candidate->IsRecoPU = 1; 182 } 183 183 else 184 184 { -
modules/TrackTimingPileUpSubtractor.h
rd4e5b6a r03b9c0f 49 49 DelphesFormula *fFormula; //! 50 50 51 Double_t fZVertexResolution; 52 Double_t fTVertexResolution; 53 51 54 Double_t fPTMin; 52 55 -
modules/VertexFinderDA4D.cc
rd4e5b6a r03b9c0f 425 425 candidate->ClusterIndex = k; 426 426 candidate->Position.SetXYZT(0.0, 0.0, vtx.z[k] , vtx.t[k]*1E-9*c_light); 427 candidate->InitialPosition.SetXYZT(0.0, 0.0, vtx.z[k] , vtx.t[k]*1E-9*c_light); 427 428 candidate->PositionError.SetXYZT(0.0, 0.0, fVertexZSize , fVertexTSize*1E-9*c_light); 428 429 candidate->SumPT2 = 0;
Note:
See TracChangeset
for help on using the changeset viewer.