Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:11:50

0001 // ----------------------------------------------------------------------------
0002 // 'STrackCutStudy.ana.h'
0003 // Derek Anderson
0004 // 03.14.2022
0005 //
0006 // Reads in the 'ntp_track' Ntuple
0007 // generated by the SVtxEvaluator
0008 // class and studies the impact
0009 // of cutting on various quantities.
0010 // ----------------------------------------------------------------------------
0011 
0012 #pragma once
0013 
0014 using namespace std;
0015 
0016 
0017 
0018 // analysis methods -----------------------------------------------------------
0019 
0020 Bool_t STrackCutStudy::ApplyCuts(const Bool_t isPrimary, const UInt_t trkNMVtx, const UInt_t trkNTpc, const Double_t trkVz, const Double_t trkDcaXY, const Double_t trkDcaZ, const Double_t trkQuality) {
0021 
0022   // check if track falls in cuts
0023   const Bool_t isInMVtxCut    = ((trkNMVtx   > nMVtxCut.first)   && (trkNMVtx   < nMVtxCut.second));
0024   const Bool_t isInTpcCut     = ((trkNTpc    > nTpcCut.first)    && (trkNTpc    < nTpcCut.second));
0025   const Bool_t isInVzCut      = ((trkVz      > vzCut.first)      && (trkVz      < vzCut.second));
0026   const Bool_t isInDcaXyCut   = ((trkDcaXY   > dcaXyCut.first)   && (trkDcaXY   < dcaXyCut.second));
0027   const Bool_t isInDcaZCut    = ((trkDcaZ    > dcaZCut.first)    && (trkDcaZ    < dcaZCut.second));
0028   const Bool_t isInQualityCut = ((trkQuality > qualityCut.first) && (trkQuality < qualityCut.second));
0029 
0030   // determine which cuts to check against
0031   Bool_t isInTrkCut(true);
0032   if (doPrimaryCut && !isPrimary)      isInTrkCut = false;
0033   if (doMVtxCut    && !isInMVtxCut)    isInTrkCut = false;
0034   if (doTpcCut     && !isInTpcCut)     isInTrkCut = false;
0035   if (doVzCut      && !isInVzCut)      isInTrkCut = false;
0036   if (doDcaXyCut   && !isInDcaXyCut)   isInTrkCut = false;
0037   if (doDcaZCut    && !isInDcaZCut)    isInTrkCut = false;
0038   if (doQualityCut && !isInQualityCut) isInTrkCut = false;
0039   return isInTrkCut;
0040 
0041 }  // end 'ApplyCuts(Bool_t, UInt_t, UInt_t, Double_t, Double_t, Double_t, Double_t)'
0042 
0043 
0044 
0045 Bool_t STrackCutStudy::DoClusterCalculation() {
0046 
0047   /* cluster calc will go here */
0048   return true;
0049 
0050 }  // end 'DoClusterCalculation'
0051 
0052 // end ------------------------------------------------------------------------