Fork me on GitHub

Changes in / [d4e5b6a:2b5ff2c] in git


Ignore:
Files:
9 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    rd4e5b6a r2b5ff2c  
    428428        modules/JetPileUpSubtractor.h \
    429429        modules/TrackPileUpSubtractor.h \
    430         modules/TrackTimingPileUpSubtractor.h \
    431430        modules/TaggingParticlesSkimmer.h \
    432431        modules/PileUpJetID.h \
     
    445444        modules/VertexFinder.h \
    446445        modules/VertexFinderDA4D.h \
    447         modules/HighMassVertexRecover.h \
    448446        modules/DecayFilter.h \
    449447        modules/ExampleModule.h
     
    784782        external/Hector/H_BeamParticle.h \
    785783        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
    795784tmp/modules/IdentificationMap.$(ObjSuf): \
    796785        modules/IdentificationMap.$(SrcSuf) \
     
    10271016        modules/TrackSmearing.$(SrcSuf) \
    10281017        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 \
    10381018        classes/DelphesClasses.h \
    10391019        classes/DelphesFactory.h \
     
    10781058        classes/DelphesFormula.h \
    10791059        classes/DelphesPileUpReader.h \
    1080         external/ExRootAnalysis/ExRootResult.h \
    1081         external/ExRootAnalysis/ExRootFilter.h \
    1082         external/ExRootAnalysis/ExRootClassifier.h
     1060        external/ExRootAnalysis/ExRootClassifier.h \
     1061        external/ExRootAnalysis/ExRootFilter.h \
     1062        external/ExRootAnalysis/ExRootResult.h
    10831063tmp/modules/VertexSorter.$(ObjSuf): \
    10841064        modules/VertexSorter.$(SrcSuf) \
     
    11661146        tmp/modules/ExampleModule.$(ObjSuf) \
    11671147        tmp/modules/Hector.$(ObjSuf) \
    1168         tmp/modules/HighMassVertexRecover.$(ObjSuf) \
    11691148        tmp/modules/IdentificationMap.$(ObjSuf) \
    11701149        tmp/modules/ImpactParameterSmearing.$(ObjSuf) \
     
    11931172        tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \
    11941173        tmp/modules/TrackSmearing.$(ObjSuf) \
    1195         tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf) \
    11961174        tmp/modules/TreeWriter.$(ObjSuf) \
    11971175        tmp/modules/UniqueObjectFinder.$(ObjSuf) \
     
    21152093        @touch $@
    21162094
    2117 modules/TrackTimingPileUpSubtractor.h: \
    2118         classes/DelphesModule.h
    2119         @touch $@
    2120 
    21212095modules/Delphes.h: \
    21222096        classes/DelphesModule.h
     
    22932267external/fastjet/config.h: \
    22942268        external/fastjet/config_win.h
    2295         @touch $@
    2296 
    2297 modules/HighMassVertexRecover.h: \
    2298         classes/DelphesModule.h \
    2299         classes/DelphesClasses.h
    23002269        @touch $@
    23012270
  • cards/CMS_PhaseII/propagatorTest.tcl

    rd4e5b6a r2b5ff2c  
    3434
    3535  VertexFinderDA4D
    36   HighMassVertexRecover
    37 
    38   CandidateFilter
    3936
    4037  TreeWriter 
     
    239236}
    240237
    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 
    269238##################
    270239# ROOT tree writer
     
    274243# add Branch InputArray BranchName BranchClass
    275244  add Branch PileUpMerger/stableParticles Particle GenParticle
    276   add Branch PileUpMerger/vertices GenVertex Vertex 
    277245  add Branch TimeSmearing/tracks Track Track
    278246  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  
    1212#######################################
    1313
    14 set MaxEvents 100
    15 set RandomSeed 123
    16 
    1714set ExecutionPath {
    1815
    19   BeamSpotFilter
    20   PileUpMerger
    2116  ParticlePropagator
    2217
     
    3025
    3126  TrackMerger
    32 
    33   TrackSmearing
    34   TimeSmearing 
    35 
    36   VertexFinderDA4D 
    37 
    38   TrackTimingPileUpSubtractor 
    3927
    4028  ECal
     
    8068}
    8169
    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 }
    13170
    13271#################################
     
    13574
    13675module ParticlePropagator ParticlePropagator {
    137   set InputArray PileUpMerger/stableParticles
     76  set InputArray Delphes/stableParticles
    13877  set OutputArray stableParticles
    13978  set ChargedHadronOutputArray chargedHadrons
     
    265204
    266205
    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
    341209
    342210
     
    349217module SimpleCalorimeter ECal {
    350218  set ParticleInputArray ParticlePropagator/stableParticles
    351   set TrackInputArray TimeSmearing/tracks
     219  set TrackInputArray TrackMerger/tracks
    352220
    353221  set TowerOutputArray ecalTowers
     
    506374}
    507375
    508 
    509376#################
    510377# Electron filter
     
    627494  set MomentumOutputArray momentum
    628495}
     496
     497
    629498
    630499
     
    1004873  add Branch GenMissingET/momentum GenMissingET MissingET
    1005874
    1006   add Branch TimeSmearing/tracks Track Track
     875  add Branch TrackMerger/tracks Track Track
    1007876  add Branch Calorimeter/towers Tower Tower
    1008877
     
    1023892  add Branch MissingET/momentum MissingET MissingET
    1024893  add Branch ScalarHT/energy ScalarHT ScalarHT
    1025   add Branch VertexFinderDA4D/vertices Vertex4D Vertex
    1026 }
    1027 
     894}
     895
  • modules/ModulesLinkDef.h

    rd4e5b6a r2b5ff2c  
    5656#include "modules/JetPileUpSubtractor.h"
    5757#include "modules/TrackPileUpSubtractor.h"
    58 #include "modules/TrackTimingPileUpSubtractor.h"
    5958#include "modules/TaggingParticlesSkimmer.h"
    6059#include "modules/PileUpJetID.h"
     
    7372#include "modules/VertexFinder.h"
    7473#include "modules/VertexFinderDA4D.h"
    75 #include "modules/HighMassVertexRecover.h"
    7674#include "modules/DecayFilter.h"
    7775#include "modules/ExampleModule.h"
     
    113111#pragma link C++ class JetPileUpSubtractor+;
    114112#pragma link C++ class TrackPileUpSubtractor+;
    115 #pragma link C++ class TrackTimingPileUpSubtractor+;
    116113#pragma link C++ class TaggingParticlesSkimmer+;
    117114#pragma link C++ class PileUpJetID+;
     
    130127#pragma link C++ class VertexFinder+;
    131128#pragma link C++ class VertexFinderDA4D+;
    132 #pragma link C++ class HighMassVertexRecover+;
    133129#pragma link C++ class DecayFilter+;
    134130#pragma link C++ class ExampleModule+;
  • modules/TrackPileUpSubtractor.cc

    rd4e5b6a r2b5ff2c  
    117117void TrackPileUpSubtractor::Process()
    118118{
    119   Candidate *candidate, *particle, *particleTest;
     119  Candidate *candidate, *particle;
    120120  map<TIterator *, TObjArray *>::iterator itInputMap;
    121121  TIterator *iterator;
     
    123123  Double_t z, zvtx = 0;
    124124  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
    130126  // find z position of primary vertex
    131127
    132   cout << " ---------- NEW EVENT --------- " << endl;
    133 
    134128  fItVertexInputArray->Reset();
    135   cout << " NUMBER OF VERTICES : " << fVertexInputArray->GetEntriesFast() << endl;
    136129  while((candidate = static_cast<Candidate *>(fItVertexInputArray->Next())))
    137130  {
    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    }
    158136  }
    159137
     
    169147    {
    170148      particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0));
    171       const TLorentzVector &candidateMomentum = candidate->Momentum;
     149      const TLorentzVector &candidateMomentum = particle->Momentum;
    172150
    173151      eta = candidateMomentum.Eta();
     
    176154      e = candidateMomentum.E();
    177155
    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();
    183157
    184158      // apply pile-up subtraction
    185159      // 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;
    188160
    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)
    191162      {
    192163        candidate->IsRecoPU = 1;
    193         //cout <<  TMath::Abs(z - zvtx) << "   " << fFormula->Eval(pt, eta, phi, e) * 1.0e3 << endl;
    194164      }
    195165      else
Note: See TracChangeset for help on using the changeset viewer.