Fork me on GitHub

Changeset 010117a in git for modules/StatusPidFilter.cc


Ignore:
Timestamp:
Mar 9, 2018, 9:07:26 AM (7 years ago)
Author:
Martin <martin.flechl@…>
Branches:
ImprovedOutputFile, Timing, dual_readout, llp, master
Children:
0203656
Parents:
e4cc3f7
Message:

Saving all generator-level tau decay products to allow visible momentum determination.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/StatusPidFilter.cc

    re4cc3f7 r010117a  
    104104      return false;
    105105  }
     106
     107  bool isTauDaughter(int pdgCode, int M1, const TObjArray *fInputArray){
     108    //not needed, just to speed up the code - can be further refined but gives only negligible improvement:
     109    if ( pdgCode==15 || pdgCode<11 || (pdgCode > 22 && pdgCode < 100) || pdgCode>1000 )
     110      return false;
     111
     112    if ( M1 < 0 )
     113      return false;
     114
     115    Candidate *mother;
     116    mother = static_cast<Candidate*>(fInputArray->At( M1 ));
     117    if ( TMath::Abs(mother->PID) == 15 )
     118      return true;
     119
     120    return false;
     121  }
     122
    106123}
    107124
     
    177194    bool is_b_quark  = (pdgCode == 5);
    178195
     196    bool is_tau_daughter = isTauDaughter(pdgCode, candidate->M1, fInputArray);
     197
    179198    if (is_b_hadron)
    180199      pass = kTRUE;
    181200
     201    if (is_tau_daughter)
     202      pass = kTRUE;
     203
    182204    // fPTMin not applied to b_hadrons / b_quarks to allow for b-enriched sample stitching
    183     if(!pass || (candidate->Momentum.Pt() < fPTMin && !(is_b_hadron || is_b_quark)) ) continue;
     205    // fPTMin not applied to tau decay products to allow visible-tau four momentum determination
     206    if(!pass || (candidate->Momentum.Pt() < fPTMin && !(is_b_hadron || is_b_quark || is_tau_daughter)) ) continue;
    184207
    185208    fOutputArray->Add(candidate);
Note: See TracChangeset for help on using the changeset viewer.