Fork me on GitHub

Changeset 584e2e9 in git


Ignore:
Timestamp:
Dec 12, 2019, 3:08:26 PM (5 years ago)
Author:
Kaan Yüksel Oyulmaz <kaanyukseloyulmaz@…>
Branches:
Timing
Children:
d4e5b6a
Parents:
0976f6a (diff), 2b5ff2c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

FCC-hh Vertex Card is updated with PileUpMerger

Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    r0976f6a r584e2e9  
    428428        modules/JetPileUpSubtractor.h \
    429429        modules/TrackPileUpSubtractor.h \
     430        modules/TrackTimingPileUpSubtractor.h \
    430431        modules/TaggingParticlesSkimmer.h \
    431432        modules/PileUpJetID.h \
     
    444445        modules/VertexFinder.h \
    445446        modules/VertexFinderDA4D.h \
     447        modules/HighMassVertexRecover.h \
    446448        modules/DecayFilter.h \
    447449        modules/ExampleModule.h
     
    782784        external/Hector/H_BeamParticle.h \
    783785        external/Hector/H_RecRPObject.h
     786tmp/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
    784795tmp/modules/IdentificationMap.$(ObjSuf): \
    785796        modules/IdentificationMap.$(SrcSuf) \
     
    10161027        modules/TrackSmearing.$(SrcSuf) \
    10171028        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
     1035tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf): \
     1036        modules/TrackTimingPileUpSubtractor.$(SrcSuf) \
     1037        modules/TrackTimingPileUpSubtractor.h \
    10181038        classes/DelphesClasses.h \
    10191039        classes/DelphesFactory.h \
     
    10581078        classes/DelphesFormula.h \
    10591079        classes/DelphesPileUpReader.h \
    1060         external/ExRootAnalysis/ExRootClassifier.h \
    1061         external/ExRootAnalysis/ExRootFilter.h \
    1062         external/ExRootAnalysis/ExRootResult.h
     1080        external/ExRootAnalysis/ExRootResult.h \
     1081        external/ExRootAnalysis/ExRootFilter.h \
     1082        external/ExRootAnalysis/ExRootClassifier.h
    10631083tmp/modules/VertexSorter.$(ObjSuf): \
    10641084        modules/VertexSorter.$(SrcSuf) \
     
    11461166        tmp/modules/ExampleModule.$(ObjSuf) \
    11471167        tmp/modules/Hector.$(ObjSuf) \
     1168        tmp/modules/HighMassVertexRecover.$(ObjSuf) \
    11481169        tmp/modules/IdentificationMap.$(ObjSuf) \
    11491170        tmp/modules/ImpactParameterSmearing.$(ObjSuf) \
     
    11721193        tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \
    11731194        tmp/modules/TrackSmearing.$(ObjSuf) \
     1195        tmp/modules/TrackTimingPileUpSubtractor.$(ObjSuf) \
    11741196        tmp/modules/TreeWriter.$(ObjSuf) \
    11751197        tmp/modules/UniqueObjectFinder.$(ObjSuf) \
     
    20932115        @touch $@
    20942116
     2117modules/TrackTimingPileUpSubtractor.h: \
     2118        classes/DelphesModule.h
     2119        @touch $@
     2120
    20952121modules/Delphes.h: \
    20962122        classes/DelphesModule.h
     
    22672293external/fastjet/config.h: \
    22682294        external/fastjet/config_win.h
     2295        @touch $@
     2296
     2297modules/HighMassVertexRecover.h: \
     2298        classes/DelphesModule.h \
     2299        classes/DelphesClasses.h
    22692300        @touch $@
    22702301
  • cards/FCC/FCChh_PileUpVtx.tcl

    r0976f6a r584e2e9  
    130130}
    131131
    132 #####################################
    133 # Track propagation to calorimeters
    134 #####################################
     132#################################
     133# Propagate particles in cylinder
     134#################################
    135135
    136136module ParticlePropagator ParticlePropagator {
  • modules/TimeSmearing.cc

    r0976f6a r584e2e9  
    5353
    5454TimeSmearing::TimeSmearing() :
    55   fItInputArray(0)
     55  fFormula(0), fItInputArray(0)
    5656{
     57  fFormula = new DelphesFormula;
    5758}
    5859
     
    6162TimeSmearing::~TimeSmearing()
    6263{
     64  if(fFormula) delete fFormula;
    6365}
    6466
     
    6971  // read resolution formula
    7072
    71   fTimeResolution = GetDouble("TimeResolution", 1.0E-10);
     73  fFormula->Compile(GetString("TimeResolution", "1.0"));
     74
    7275  // import input array
    73 
     76  fEtaMax = GetDouble("EtaMax", 6.);
    7477  fInputArray = ImportArray(GetString("InputArray", "MuonMomentumSmearing/muons"));
    7578  fItInputArray = fInputArray->MakeIterator();
     
    9295{
    9396  Candidate *candidate, *mother;
    94   Double_t ti, tf_smeared, tf;
     97  Double_t ti, tf_smeared, tf, timeResolution;
     98  Double_t pt, eta, phi, e, d0, dz, ctgTheta;
     99
     100
    95101  const Double_t c_light = 2.99792458E8;
    96102
    97103  fItInputArray->Reset();
    98   while((candidate = static_cast<Candidate *>(fItInputArray->Next())))
     104  while((candidate = static_cast<Candidate*>(fItInputArray->Next())))
    99105  {
    100     const TLorentzVector &candidateInitialPosition = candidate->InitialPosition;
    101     const TLorentzVector &candidateFinalPosition = candidate->Position;
    102 
    103     ti = candidateInitialPosition.T() * 1.0E-3 / c_light;
    104     tf = candidateFinalPosition.T() * 1.0E-3 / c_light;
     106    ti = candidate->InitialPosition.T()*1.0E-3/c_light;
     107    tf = candidate->Position.T()*1.0E-3/c_light;
     108   
     109    // dummy, only need to properly call TFormula
     110    const TLorentzVector &candidatePosition = candidate->Position;
     111    const TLorentzVector &candidateMomentum = candidate->Momentum;
     112    eta = candidatePosition.Eta();
     113    phi = candidatePosition.Phi();
     114    pt = candidateMomentum.Pt();
     115    e = candidateMomentum.E();
     116    d0 = candidate->D0;
     117    dz = candidate->DZ;
     118    ctgTheta = candidate->CtgTheta;
    105119
    106120    // apply smearing formula
    107     tf_smeared = gRandom->Gaus(tf, fTimeResolution);
    108     ti = ti + tf_smeared - tf;
    109     tf = tf_smeared;
     121   
     122    timeResolution = fFormula->Eval(pt, eta, phi, e, d0, dz, ctgTheta);
     123    if(fabs(candidate->Position.Eta())<fEtaMax)
     124    {
     125      tf_smeared = tf + timeResolution*gRandom->Gaus(0, 1);
     126    }
     127    else continue;
     128
     129    // double beta_particle = candidate->Momentum.P()/candidate->Momentum.E();
     130    // ti = tf_smeared - candidate->Ld*1.0E-3/(c_light*beta_particle);
    110131
    111132    mother = candidate;
    112     candidate = static_cast<Candidate *>(candidate->Clone());
    113     candidate->InitialPosition.SetT(ti * 1.0E3 * c_light);
    114     candidate->Position.SetT(tf * 1.0E3 * c_light);
    115 
    116     candidate->ErrorT = fTimeResolution * 1.0E3 * c_light;
    117 
     133    candidate = static_cast<Candidate*>(candidate->Clone());
    118134    candidate->AddCandidate(mother);
     135    candidate->InitialPosition.SetT((100+ti)*1.0E3*c_light);
     136    candidate->Position.SetT(tf_smeared*1.0E3*c_light);
     137    candidate->ErrorT = timeResolution*1.0E3*c_light;
    119138
    120139    fOutputArray->Add(candidate);
  • modules/TimeSmearing.h

    r0976f6a r584e2e9  
    3232class TIterator;
    3333class TObjArray;
     34class DelphesFormula;
    3435
    3536class TimeSmearing: public DelphesModule
     
    4445
    4546private:
    46   Double_t fTimeResolution;
     47  DelphesFormula *fFormula; //!
     48  Double_t fEtaMax;
    4749
    4850  TIterator *fItInputArray; //!
  • modules/TrackTimingPileUpSubtractor.cc

    r0976f6a r584e2e9  
    143143      tvtx = candidate->Position.T();
    144144      tvtx_err = candidate->PositionError.T();
     145      cout << " initial : " << candidate->InitialPosition.T() << " final : " << candidate->Position.T() << endl;
    145146    }
    146147  }
     
    171172      // apply pile-up subtraction
    172173      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;
    173175      // here I calculated distance using Z and T of selected vertex (highest sum Pt square) and particles
    174176      // however z_err of vertices is gives 0 because of using CMS trackResolutionCMS.tcl (in that formula, there is limitation on |eta| < 2.5)
  • readers/DelphesPythia8.cpp

    r0976f6a r584e2e9  
    151151
    152152    candidate->Position.SetXYZT(x, y, z, t);
    153 
    154153    allParticleOutputArray->Add(candidate);
    155154
    156     if(!pdgParticle) continue;
     155    if(!pdgParticle && (abs(pid) > 1006333 || abs(pid) < 1000612) )
     156      continue;
    157157
    158158    if(status == 1)
Note: See TracChangeset for help on using the changeset viewer.