Fork me on GitHub

Changeset a09b75f in git for modules/LLPFilter.cc


Ignore:
Timestamp:
Dec 9, 2021, 10:38:13 PM (3 years ago)
Author:
christinaw97 <christina.wang@…>
Children:
c61b5ce
Parents:
29b722a
Message:

cleaned modules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/LLPFilter.cc

    r29b722a ra09b75f  
    151151    if (fDaughterNumber > 0)
    152152    {
    153       if (candidate->D2-candidate->D1 != fDaughterNumber) continue;//require 3 daughters
     153      if (candidate->D2-candidate->D1 != fDaughterNumber) continue;//require at least fDaughterNumber daughters
    154154
    155155    }
     
    160160    candidate->Eem = 0.0;
    161161    candidate->Ehad = 0.0;
    162 
    163162    fItParticleInputArray->Reset();
    164163
     
    166165    {
    167166
    168       // check mother is LLP
    169       //check ID is 123456 or neutrinos or charged leptons
    170167      daughterPdg = daughter->PID;
    171168      if (daughter->Status != 1)continue;
    172 
    173169      if (daughter->IsPU)continue;
    174 
    175170      if (abs(daughterPdg)==12 || abs(daughterPdg)==14 || abs(daughterPdg)==16 || abs(daughterPdg)==13)continue; // ignore neutrinos and muons
    176 
    177 
    178171      if (abs(daughterPdg) > 1000000) continue;//ignore BSM particles
     172     
    179173      const TLorentzVector &daughterProdPosition = daughter->Position;
    180174      const TLorentzVector &daughterMomentum = daughter->Momentum;
    181 
    182175      const TLorentzVector distance = daughterProdPosition - candidateDecayPosition;
    183176
    184       if (sqrt(pow(distance.X(), 2) + pow(distance.Y(), 2) + pow(distance.Z(), 2))>100) continue; //if vertices are close, then matched, this 1 m only works for those decay in muon system, would be too large for tracker related
     177      // look for mother until find LLP or reach the top of the tree
    185178      tempCandidate = daughter;
    186179      while(tempCandidate->M1 != -1 && tempCandidate->M1 != index)
    187180      {
    188181        tempCandidate  = static_cast<Candidate *>(fParticleInputArray->At(tempCandidate->M1));
    189         // if (tempCandidate->PID == pdgCode)break;
    190 
    191182      }
    192183      if (tempCandidate->M1 == -1) continue;
     
    194185      if (abs(daughterPdg)==11 || abs(daughterPdg)==22 || abs(daughterPdg)==111)candidate->Eem += daughterMomentum.E();
    195186      else candidate->Ehad += daughterMomentum.E();
    196 
    197 
    198187    }
    199188
Note: See TracChangeset for help on using the changeset viewer.