6#ifndef INDETTRACKSYSTEMATICSTOOLS_INDETTRACKTRUTHORIGINDEFS_H
7#define INDETTRACKSYSTEMATICSTOOLS_INDETTRACKTRUTHORIGINDEFS_H
57 if (origin & (0x1 <<
Fake))
return true;
63 if (origin & (0x1 <<
Pileup))
return true;
112 if (origin & (0x1 <<
TauDecay))
return true;
118 static constexpr auto bit=[](
int bitpos){
return 0x1<<bitpos;};
120 return (origin & isSecondaryMask);
137 if (
isFromD(origin))
return false;
144 if (
isFromB(origin))
return false;
163 if (
isFake(origin))
return false;
175 switch (exclusiveOrigin) {
179 return (0x1 <<
Fake);
198 namespace ExclusiveOrigin {
int getExclusiveOrigin(int origin)
bool isPileup(int origin)
from pileup
bool isFromBNotFromD(int origin)
from B decay chain excluding B-->D
bool isFromTau(int origin)
from tau decay
bool isHadronicInteraction(int origin)
from hadronic interactions
bool isSecondary(int origin)
from long living particle decays or gamma conversions or hadronic interactions and anything else with...
bool isPrimary(int origin)
not fake, not pileup, not secondaries
bool isFromB(int origin)
from B decay chain including B-->D
bool isGammaConversion(int origin)
from conversions
bool isStrangeMesonDecay(int origin)
from strange meson decay
bool isV0Decay(int origin)
from V0
bool isFromDNotFromB(int origin)
from D decay chain excluding B-->D
bool isFromD(int origin)
from D decay chain including B-->D
bool isStrangeBaryonDecay(int origin)
from strange baryon decay
bool isFragmentation(int origin)
not from B, D, or any secondary
bool isKshortDecay(int origin)
from Kshort decay
bool isFake(int origin)
Helper functions.
int getTrkOrigin(int exclusiveOrigin)
bool isFromDfromB(int origin)
from B-->D decay chain
bool isLambdaDecay(int origin)
from Lambda decay