#ifndef __HPARTICLEDEF_H__ #define __HPARTICLEDEF_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; namespace Particle { // Enumerated variables indicating which detector // has seen a HGeant particle // and combinations thereof (to be used as shorthand-notation) enum eSelMeta { kNoUse =-1, kTofClst = 0, kTofHit1 = 1, kTofHit2 = 2, kRpcClst = 3, kShowerHit = 4 }; enum eDetBits { //individual detectors kIsNotSet = 0x00, // This object does not contain valid data kIsInRICHIPU = 0x01, // 1 RICH IPU has seen this trackid kIsInOuterMDC = 0x02, // 2 Outer Mdc has seen this trackid kIsInRICH = 0x04, // 4 RICH has seen this trackid kIsInInnerMDC = 0x08, // 8 Inner Mdc has seen this trackid kIsInSHOWER = 0x10, // 16 Shower has seen this trackid kIsInTOF = 0x20, // 32 TOF has seen this trackid kIsInRPC = 0x40, // 64 Rpc has seen this trackid kIsInMETA = 0x80, // 128 One of the Meta dets has seen this trackid kIsGhost = 0x100, // 256 Tracking Ghost kIsInnerGhost = 0x200, // 512 Tracking Ghost in inner MDC kIsOuterGhost = 0x400 // 1024 Tracking Ghost in outer MDC }; enum eMatching { //individual detectors kIsNoMatch = 0x00, // This object does not contain valid data kIsRICHMDC = 0x01, // 1 RICH MDC matching kIsRICHRK = 0x02 // 2 RICH RK matching }; enum ePair { //individual detectors kIsUS = 0, // This pair is unlike sign kIsLSPos = 1, // This pair is like sign, both positive kIsLSNeg = 2 // This pair is like sign, both negative }; // ------------------------------------------------------------------------- // Track Cleaner flags enum eFlagBits { kIsDoubleHitRICH = 0, // kIsDoubleHitInnerMDC = 1, // kIsDoubleHitOuterMDC = 2, // kIsDoubleHitMETA = 3, // kIsBestHitRICH = 4, // (by number of pads) kIsBestHitInnerMDC = 5, // (by chi2, chi2 >= 0 ) kIsBestHitOuterMDC = 6, // (by chi2 , chi2 >= 0 ) kIsBestHitMETA = 7, // (by RKMETA match quality) kIsBestRK = 8, // (by RK chi2, none fitted outer segments with lower priority) kIsBestRKRKMETA = 9, // (by RK chi2 * RK META match quality) kIsAcceptedHitRICH = 10, // remember if the hit was been taken into account kIsAcceptedHitRICHMDC = 11, // RICH hit + ring correlation segment kIsAcceptedHitInnerMDC = 12, // needs inner MDC chi2 >= 0 kIsAcceptedHitOuterMDC = 13, // needs outer MDC chi2 >= 0 kIsAcceptedHitMETA = 14, // needs Meta Hit kIsAcceptedRKMETA = 15, // needs RK chi2 >= 0 + Meta hit kIsAcceptedRKRICH = 16, // needs RK chi2 >= 0 + RICH hit + ring correlation after RK kIsAcceptedRK = 17, // needs RK chi2 >= 0 kIsAcceptedRKRKMETA = 18, // needs RK chi2 >= 0 + Meta hit kIsLepton = 29, // mark the selected leptons kIsUsed = 30, // mark the object as arleady used kIsRejected = 31 // mark the object as rejected }; // ------------------------------------------------------------------------- } #endif // __HPARTICLEDEF_H__