File indexing completed on 2025-08-05 08:17:27
0001 #ifndef TRIGGER_TRIGGERDEFS_H__
0002 #define TRIGGER_TRIGGERDEFS_H__
0003
0004 #include <cstdint>
0005 #include <string>
0006
0007 namespace TriggerDefs
0008 {
0009
0010 typedef uint32_t TriggerKey;
0011 typedef uint32_t TriggerPrimKey;
0012 typedef uint32_t TriggerSumKey;
0013
0014 static TriggerKey TRIGGERKEYMAX __attribute__((unused)) = UINT32_MAX;
0015 static TriggerPrimKey TRIGGERPRIMKEYMAX __attribute__((unused)) = UINT32_MAX;
0016 static TriggerPrimKey TRIGGERSUMKEYMAX __attribute__((unused)) = UINT32_MAX;
0017
0018 static const unsigned int kBitShiftTriggerId __attribute__((unused)) = 24;
0019 static const unsigned int kBitShiftDetectorId __attribute__((unused)) = 20;
0020 static const unsigned int kBitShiftPrimitiveId __attribute__((unused)) = 16;
0021
0022 typedef enum
0023 {
0024 noneTId = 0,
0025 mbdTId = 1,
0026 jetTId = 2,
0027 pairTId = 3,
0028 cosmicTId = 4,
0029 cosmic_coinTId = 5,
0030 photonTId = 6,
0031 physicsTId = 7
0032 } TriggerId;
0033
0034 typedef enum
0035 {
0036 noneDId = 0,
0037 mbdDId = 1,
0038 hcalinDId = 2,
0039 hcaloutDId = 3,
0040 hcalDId = 4,
0041 emcalDId = 5,
0042 calDId = 6,
0043 } DetectorId;
0044
0045 typedef enum
0046 {
0047 nonePId = 0,
0048 mbdPId = 1,
0049 calPId = 2,
0050 jetPId = 3,
0051 pairPId = 4,
0052 } PrimitiveId;
0053
0054 TriggerId GetTriggerId(const std::string& trigger);
0055 DetectorId GetDetectorId(const std::string& detector);
0056 PrimitiveId GetPrimitiveId(const std::string& primitive);
0057
0058 static const unsigned int kBitShiftPrimitiveLocId __attribute__((unused)) = 5;
0059 static const unsigned int kBitShiftSumLocId __attribute__((unused)) = 0;
0060
0061 uint32_t getTriggerKey(const TriggerDefs::TriggerId triggerId);
0062 uint32_t getTriggerKey(const TriggerDefs::TriggerId triggerId, const TriggerDefs::DetectorId detectorId);
0063 uint32_t getTriggerPrimKey(const TriggerDefs::TriggerId triggerId, const TriggerDefs::DetectorId detectorId, const TriggerDefs::PrimitiveId primitiveId, const uint16_t primlocid);
0064 uint32_t getTriggerSumKey(const TriggerDefs::TriggerId triggerId, const TriggerDefs::DetectorId detectorId, const TriggerDefs::PrimitiveId primitiveId, const uint16_t primlocid, const uint16_t sumlocid);
0065
0066 uint32_t GetTowerInfoKey(const TriggerDefs::DetectorId detId, const uint16_t iprim, const uint16_t isum, const uint16_t itower);
0067 TriggerId getTriggerId_from_TriggerKey(const TriggerDefs::TriggerKey triggerkey);
0068 TriggerId getTriggerId_from_TriggerPrimKey(const TriggerDefs::TriggerPrimKey triggerprimkey);
0069 TriggerId getTriggerId_from_TriggerSumKey(const TriggerDefs::TriggerSumKey triggersumkey);
0070
0071 DetectorId getDetectorId_from_TriggerPrimKey(const TriggerDefs::TriggerPrimKey triggerprimkey);
0072 DetectorId getDetectorId_from_TriggerSumKey(const TriggerDefs::TriggerSumKey triggersumkey);
0073
0074 PrimitiveId getPrimitiveId_from_TriggerPrimKey(const TriggerDefs::TriggerPrimKey triggerprimkey);
0075 PrimitiveId getPrimitiveId_from_TriggerSumKey(const TriggerDefs::TriggerSumKey triggersumkey);
0076
0077 uint16_t getPrimitiveLocId_from_TriggerPrimKey(const TriggerDefs::TriggerPrimKey triggerprimkey);
0078 uint16_t getPrimitiveLocId_from_TriggerSumKey(const TriggerDefs::TriggerSumKey triggersumkey);
0079
0080 uint16_t getPrimitivePhiId_from_TriggerPrimKey(const TriggerDefs::TriggerPrimKey triggerprimkey);
0081 uint16_t getPrimitivePhiId_from_TriggerSumKey(const TriggerDefs::TriggerSumKey triggersumkey);
0082
0083 uint16_t getPrimitiveEtaId_from_TriggerPrimKey(const TriggerDefs::TriggerPrimKey triggerprimkey);
0084 uint16_t getPrimitiveEtaId_from_TriggerSumKey(const TriggerDefs::TriggerSumKey triggersumkey);
0085
0086 uint16_t getSumLocId(const TriggerDefs::TriggerSumKey triggersumkey);
0087
0088 uint16_t getSumPhiId(const TriggerDefs::TriggerSumKey triggersumkey);
0089
0090 uint16_t getSumEtaId(const TriggerDefs::TriggerSumKey triggersumkey);
0091
0092 };
0093
0094 #endif