#ifndef __HPARTICLEDEF_H__
#define __HPARTICLEDEF_H__
#include "Rtypes.h"
#include "haddef.h"
typedef Float16_t SmallFloat;
const Cat_t catParticleCand = PARTICLE_OFFSET + 1;
const Cat_t catParticleEvtInfo= PARTICLE_OFFSET + 2;
const Cat_t catParticleDebug = PARTICLE_OFFSET + 3;
const Cat_t catParticleCal = PARTICLE_OFFSET + 4;
const Cat_t catParticlePair = PARTICLE_OFFSET + 5;
const Cat_t catParticleMdc = PARTICLE_OFFSET + 6;
const Cat_t catParticleBtRing = PARTICLE_OFFSET + 7;
const Cat_t catParticleBtRingInfo = PARTICLE_OFFSET + 8;
namespace Particle {
enum eSelMeta {
kNoUse =-1,
kTofClst = 0,
kTofHit1 = 1,
kTofHit2 = 2,
kRpcClst = 3,
kShowerHit = 4,
kEmcClst = 5
};
enum eDetBits
{
kIsNotSet = 0x00,
kIsInRICHIPU = 0x01,
kIsInOuterMDC = 0x02,
kIsInRICH = 0x04,
kIsInInnerMDC = 0x08,
kIsInSHOWER = 0x10,
kIsInEMC = 0x10,
kIsInTOF = 0x20,
kIsInRPC = 0x40,
kIsInMETA = 0x80,
kIsGhost = 0x100,
kIsInnerGhost = 0x200,
kIsOuterGhost = 0x400
};
enum eMatching
{
kIsNoMatch = 0x00,
kIsRICHMDC = 0x01,
kIsRICHRK = 0x02
};
enum eVertex
{
kVertexCluster = 1,
kVertexSegment = 2,
kVertexParticle = 3,
kVertexUser = 4
};
enum eMomReco
{
kMomSpline = 1,
kMomRK = 2,
kMomKalman = 3
};
enum ePair
{
kIsUS = 0,
kIsLSPos = 1,
kIsLSNeg = 2
};
enum eFlagBits {
kIsDoubleHitRICH = 0,
kIsDoubleHitInnerMDC = 1,
kIsDoubleHitOuterMDC = 2,
kIsDoubleHitMETA = 3,
kIsBestHitRICH = 4,
kIsBestHitInnerMDC = 5,
kIsBestHitOuterMDC = 6,
kIsBestHitMETA = 7,
kIsBestRK = 8,
kIsBestRKRKMETA = 9,
kIsBestRKRKMETARadius = 10,
kIsBestUser = 11,
kIsAcceptedHitRICH = 12,
kIsAcceptedHitRICHMDC = 13,
kIsAcceptedHitInnerMDC = 14,
kIsAcceptedHitOuterMDC = 15,
kIsAcceptedHitMETA = 16,
kIsAcceptedRKMETA = 17,
kIsAcceptedRKRICH = 18,
kIsAcceptedRK = 19,
kIsAcceptedRKRKMETA = 20,
kIsAcceptedRKRKMETARadius= 21,
kIsAcceptedUser = 22,
kIsLepton = 29,
kIsUsed = 30,
kIsRejected = 31
};
enum ERichMatch {
kUseRICHIndexSorter = 0,
kUseRKRICHCorrelationSorter = 1,
kUseRKRICHWindowSorter = 2
};
enum ESelect {
kIsLeptonSorter = 0,
kIsHadronSorter = 1
};
enum ESwitch {
kIsIndexRICHSorter = 0,
kIsIndexInnerMDCSorter = 1,
kIsIndexOuterMDCSorter = 2,
kIsIndexTOFSorter = 3,
kIsIndexSHOWERSorter = 4,
kIsIndexRPCSorter = 5,
kIsIndexMETASorter = 6,
kIsBestHitRICHSorter = 7,
kIsBestHitInnerMDCSorter = 8,
kIsBestHitOuterMDCSorter = 9,
kIsBestHitMETASorter = 10,
kIsBestRKSorter = 11,
kIsBestRKRKMETASorter = 12,
kIsBestRKRKMETARadiusSorter= 13,
kIsBestUserSorter = 14
};
enum eClosePairSelect {
kSameRICH = 0x01,
kSameInnerMDC = 0x02,
kSameOuterMDC = 0x04,
kSameMETA = 0x08,
kSamePosPolarity = 0x10,
kSameNegPolarity = 0x20,
kSamePolarity = 0x40,
kRICH2 = 0x80,
kFittedInnerMDC2 = 0x100,
kFittedOuterMDC2 = 0x200,
kOuterMDC2 = 0x400,
kRK2 = 0x800,
kMETA2 = 0x1000,
kIsLepton2 = 0x2000,
kIsUsed2 = 0x4000,
kNoSameRICH = 0x8000,
kNoSameInnerMDC = 0x10000,
kNoSameOuterMDC = 0x20000,
kNoSameMETA = 0x40000,
kNoSamePosPolarity = 0x80000,
kNoSameNegPolarity = 0x100000,
kNoSamePolarity = 0x200000,
kNoRICH2 = 0x400000,
kNoFittedInnerMDC2 = 0x800000,
kNoFittedOuterMDC2 = 0x1000000,
kNoOuterMDC2 = 0x2000000,
kNoRK2 = 0x4000000,
kNoMETA2 = 0x8000000,
kNoIsLepton2 = 0x10000000,
kNoIsUsed2 = 0x20000000,
kNoUseRICH = 0x40000000
};
enum ePairCase {
kPairCase1 = kNoSameRICH|kNoSameInnerMDC|kNoSameOuterMDC|kNoSameMETA|kRICH2|kOuterMDC2|kMETA2,
kPairCase2 = kNoSameRICH|kNoSameInnerMDC|kNoSameOuterMDC|kSameMETA |kRICH2|kOuterMDC2|kMETA2,
kPairCase3 = kNoSameRICH|kNoSameInnerMDC|kSameOuterMDC |kSameMETA |kRICH2|kOuterMDC2|kMETA2,
kPairCase4 = kNoSameRICH|kNoSameInnerMDC|kSameOuterMDC |kNoSameMETA|kRICH2|kOuterMDC2|kMETA2,
kPairCase5 = kNoSameRICH|kSameInnerMDC |kNoSameOuterMDC|kNoSameMETA|kRICH2|kOuterMDC2|kMETA2,
kPairCase6 = kSameRICH |kSameInnerMDC |kNoSameOuterMDC|kNoSameMETA|kRICH2|kOuterMDC2|kMETA2,
kPairCase7 = kSameRICH |kNoSameInnerMDC|kNoSameOuterMDC|kNoSameMETA|kRICH2|kOuterMDC2|kMETA2,
kPairCase8 = kSameRICH |kNoSameInnerMDC|kNoSameOuterMDC|kSameMETA |kRICH2|kOuterMDC2|kMETA2,
kPairCase9 = kSameRICH |kSameInnerMDC |kNoSameOuterMDC|kSameMETA |kRICH2|kOuterMDC2|kMETA2,
kPairCase10 = kSameRICH |kSameInnerMDC |kSameOuterMDC |kNoSameMETA|kRICH2|kOuterMDC2|kMETA2,
kPairCase11 = kNoSameRICH|kNoSameInnerMDC|kNoSameOuterMDC |kRICH2|kOuterMDC2|kNoMETA2,
kPairCase12 = kSameRICH |kNoSameInnerMDC|kNoSameOuterMDC |kRICH2|kOuterMDC2|kNoMETA2,
kPairCase13 = kSameRICH |kSameInnerMDC |kNoSameOuterMDC |kRICH2|kOuterMDC2|kNoMETA2,
kPairCase14 = kNoSameRICH|kNoSameInnerMDC |kRICH2|kNoOuterMDC2|kNoMETA2,
kPairCase15 = kSameRICH |kNoSameInnerMDC |kRICH2|kNoOuterMDC2|kNoMETA2,
kPairCase16 = kNoUseRICH |kNoSameInnerMDC|kNoSameOuterMDC|kNoSameMETA|kOuterMDC2|kMETA2,
kPairCase17 = kNoUseRICH |kNoSameInnerMDC|kNoSameOuterMDC|kSameMETA |kOuterMDC2|kMETA2,
kPairCase18 = kNoUseRICH |kNoSameInnerMDC|kSameOuterMDC |kSameMETA |kOuterMDC2|kMETA2,
kPairCase19 = kNoUseRICH |kNoSameInnerMDC|kSameOuterMDC |kNoSameMETA|kOuterMDC2|kMETA2,
kPairCase20 = kNoUseRICH |kSameInnerMDC |kNoSameOuterMDC|kSameMETA |kOuterMDC2|kMETA2,
kPairCase21 = kNoUseRICH |kSameInnerMDC |kSameOuterMDC |kNoSameMETA|kOuterMDC2|kMETA2,
kPairCase22 = kNoUseRICH |kSameInnerMDC |kNoSameOuterMDC|kNoSameMETA|kOuterMDC2|kMETA2,
kPairCase23 = kNoUseRICH |kNoSameInnerMDC|kNoSameOuterMDC |kOuterMDC2|kNoMETA2,
kPairCase24 = kNoUseRICH |kSameInnerMDC |kNoSameOuterMDC |kOuterMDC2|kNoMETA2,
kPairCase25 = kNoUseRICH |kNoSameInnerMDC |kNoOuterMDC2|kNoMETA2,
kPairCase26 = kNoSameRICH|kNoSameInnerMDC|kNoSameOuterMDC|kNoSameMETA|kNoRICH2|kOuterMDC2|kMETA2,
kPairCase27 = kNoSameRICH|kNoSameInnerMDC|kNoSameOuterMDC|kSameMETA |kNoRICH2|kOuterMDC2|kMETA2,
kPairCase28 = kNoSameRICH|kNoSameInnerMDC|kSameOuterMDC |kSameMETA |kNoRICH2|kOuterMDC2|kMETA2,
kPairCase29 = kNoSameRICH|kNoSameInnerMDC|kSameOuterMDC |kNoSameMETA|kNoRICH2|kOuterMDC2|kMETA2,
kPairCase30 = kNoSameRICH|kSameInnerMDC |kNoSameOuterMDC|kNoSameMETA|kNoRICH2|kOuterMDC2|kMETA2,
kPairCase31 = kNoSameRICH|kNoSameInnerMDC|kNoSameOuterMDC |kNoRICH2|kOuterMDC2|kNoMETA2,
kPairCase32 = kNoSameRICH|kNoSameInnerMDC |kNoRICH2|kNoOuterMDC2|kNoMETA2
};
enum eEventSelect {
kGoodVertexClust = 0x01,
kGoodVertexCand = 0x02,
kGoodSTART = 0x04,
kNoPileUpSTART = 0x08,
kNoPileUpMETA = 0x10,
kNoPileUpMDC = 0x20,
kNoFlashMDC = 0x40,
kGoodMDCMult = 0x80,
kGoodMDCMIPSMult = 0x100,
kGoodLepMult = 0x200,
kGoodTRIGGER = 0x400,
kGoodSTART2 = 0x800,
kNoVETO = 0x1000,
kGoodSTARTVETO = 0x2000,
kGoodSTARTMETA = 0x4000,
kNoDeltaElectron = 0x8000,
kNoSTART = 0x10000,
kNoEventPileUp = 0x20000
};
enum eBeamTime {
kUnknownBeam = 0,
kApr12 = 1,
kJul14 = 2,
kAug14 = 3,
kMar19 = 4
};
}
#endif // __HPARTICLEDEF_H__