Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-03 08:16:35

0001 #ifndef __TRIGGERENUM_H__
0002 #define __TRIGGERENUM_H__
0003 
0004 #include <map>
0005 #include <string>
0006 
0007 // ! updated : 2025-12-10
0008 
0009 namespace TriggerEnum {
0010 
0011 enum BitCodes
0012 {
0013     CLOCK = 0,
0014     
0015     DONUT = 4,
0016     TPC_LASER = 5,
0017     
0018     ZDC_NS = 1,
0019     ZDC_N = 6,
0020     ZDC_S = 7,
0021 
0022     MBD_S1 = 8, // mbd south >= 2
0023     MBD_N1 = 9, // mbd north >= 2
0024 
0025     MBD_NS1 = 10, // mbd north+south >= 2
0026     MBD_NS2 = 11, // mbd north+south >= 1
0027     MBD_NS1_ZVRTX10 = 12, // mbd north+south >= 1, zvertex < 10 cm
0028     MBD_NS1_ZVRTX13 = 13, // mbd north+south >= 1, zvertex < 13.3 cm
0029     MBD_NS1_ZVRTX150 = 14, // mbd north+south >= 1, zvertex < 150 cm
0030     MBD_NS2_ZVRTX10 = 15,  // mbd north+south >= 2, zvertex < 10 cm
0031     
0032     JET6_MBD_NS1 = 16, // jet 6 GeV, mbd north+south >= 1
0033     JET8_MBD_NS1 = 17, // jet 8 GeV, mbd north+south >= 1
0034     JET10_MBD_NS1 = 18, // jet 10 GeV, mbd north+south >= 1
0035     JET12_MBD_NS1 = 19, // jet 12 GeV, mbd north+south >= 1
0036 
0037     JET6 = 20, // jet 6 GeV
0038     JET8 = 21, // jet 8 GeV
0039     JET10 = 22, // jet 10 GeV
0040     JET12 = 23, // jet 12 GeV
0041   
0042     PHOTON2_MBD_NS1 = 24, // photon 2 GeV, mbd north+south >= 1
0043     PHOTON3_MBD_NS1 = 25, // photon 3 GeV, mbd north+south >= 1
0044     PHOTON4_MBD_NS1 = 26, // photon 4 GeV, mbd north+south >= 1
0045     PHOTON5_MBD_NS1 = 27, // photon 5 GeV, mbd north+south >= 1
0046     
0047     PHOTON2 = 28, // photon 2 GeV
0048     PHOTON3 = 29, // photon 3 GeV
0049     PHOTON4 = 30, // photon 4 GeV
0050     PHOTON5 = 31, // photon 5 GeV
0051 
0052     JET6_MBD_NS1_ZVRTX10 = 32, // jet 6 GeV, mbd north+south >= 1, zvertex < 10 cm
0053     JET8_MBD_NS1_ZVRTX10 = 33, // jet 8 GeV, mbd north+south >= 1, zvertex < 10 cm
0054     JET10_MBD_NS1_ZVRTX10 = 34, // jet 10 GeV, mbd north+south >= 1, zvertex < 10 cm
0055     JET12_MBD_NS1_ZVRTX10 = 35, // jet 12 GeV, mbd north+south >= 1, zvertex < 10 cm
0056 
0057     PHOTON3_MBD_NS1_ZVRTX10 = 36, // photon 3 GeV, mbd north+south >= 1, zvertex < 10 cm
0058     PHOTON4_MBD_NS1_ZVRTX10 = 37, // photon 4 GeV, mbd north+south >= 1, zvertex < 10 cm
0059     PHOTON5_MBD_NS1_ZVRTX10 = 38, // photon 5 GeV, mbd north+south >= 1, zvertex < 10 cm
0060     
0061     NA = 39,
0062 
0063     MBD_LASER = 40,
0064     RANDOM = 41,
0065 
0066     HCAL_SINGLES = 42,// hcal singles
0067     HCAL_NARROW_VERT = 43, // hcal narrow vertical coincidence
0068     HCAL_WIDE_VERT = 44, // hcal wide vertical coincidence
0069     HCAL_NARROW_HORZ = 45, // hcal narrow horizontal coincidence
0070     HCAL_WIDE_HORZ = 46, // hcal wide horizontal coincidence
0071 
0072 };
0073 
0074 const int NUM_MBD_TRIGGERS = 7;
0075 const TriggerEnum::BitCodes MBTriggers[] = {
0076     TriggerEnum::MBD_NS1,
0077     TriggerEnum::MBD_NS2,
0078     TriggerEnum::MBD_NS1_ZVRTX10,
0079     TriggerEnum::MBD_NS1_ZVRTX13,
0080     TriggerEnum::MBD_NS1_ZVRTX150,
0081     TriggerEnum::MBD_NS2_ZVRTX10,
0082     TriggerEnum::ZDC_NS,
0083 };
0084 const char * MBTriggerNames[] = {
0085     "MBD N&S >= 1",
0086     "MBD N&S >= 2",
0087     "MBD N&S >= 1, |z| < 10 cm",
0088     "MBD N&S >= 1, |z| < 13.3 cm",
0089     "MBD N&S >= 1, |z| < 150 cm",
0090     "MBD N&S >= 2, |z| < 10 cm",
0091     "ZDC Coincidence",
0092 };
0093 const int nMBTriggers = sizeof(MBTriggers) / sizeof(TriggerEnum::BitCodes);
0094 
0095 
0096 const std::map< TriggerEnum::BitCodes, std::string> TriggerNames = 
0097 {
0098     {CLOCK, "Clock"},
0099     {DONUT, "Donut"},
0100     {TPC_LASER, "TPC Laser"},
0101 
0102     {ZDC_NS, "ZDC N&S"},
0103     {ZDC_N, "ZDC N"},
0104     {ZDC_S, "ZDC S"},
0105 
0106     {MBD_S1, "MBD S >= 2"},
0107     {MBD_N1, "MBD N >= 2"},
0108 
0109     {MBD_NS1, "MBD N&S >= 1"},
0110     {MBD_NS2, "MBD N&S >= 2"},
0111     {MBD_NS1_ZVRTX10, "MBD N&S >= 1, |z| < 10 cm"},
0112     {MBD_NS1_ZVRTX13, "MBD N&S >= 1, |z| < 13.3 cm"},
0113     {MBD_NS1_ZVRTX150, "MBD N&S >= 1, |z| < 150 cm"},
0114     {MBD_NS2_ZVRTX10, "MBD N&S >= 2, |z| < 10 cm"},
0115 
0116     {JET6_MBD_NS1, "Jet 6 GeV + MBD N&S >= 1"},
0117     {JET8_MBD_NS1, "Jet 8 GeV + MBD N&S >= 1"},
0118     {JET10_MBD_NS1, "Jet 10 GeV + MBD N&S >= 1"},
0119     {JET12_MBD_NS1, "Jet 12 GeV + MBD N&S >= 1"},
0120 
0121     {JET6, "Jet 6 GeV"},
0122     {JET8, "Jet 8 GeV"},
0123     {JET10, "Jet 10 GeV"},
0124     {JET12, "Jet 12 GeV"},
0125 
0126     {PHOTON2_MBD_NS1, "Photon 2 GeV + MBD N&S >= 1"},
0127     {PHOTON3_MBD_NS1, "Photon 3 GeV + MBD N&S >= 1"},
0128     {PHOTON4_MBD_NS1, "Photon 4 GeV + MBD N&S >= 1"},
0129     {PHOTON5_MBD_NS1, "Photon 5 GeV + MBD N&S >= 1"},
0130 
0131     {PHOTON2, "Photon 2 GeV"},
0132     {PHOTON3, "Photon 3 GeV"},
0133     {PHOTON4, "Photon 4 GeV"},
0134     {PHOTON5, "Photon 5 GeV"},  
0135     
0136     {JET6_MBD_NS1_ZVRTX10, "Jet 6 GeV + MBD N&S >= 1, |z| < 10 cm"},
0137     {JET8_MBD_NS1_ZVRTX10, "Jet 8 GeV + MBD N&S >= 1, |z| < 10 cm"},
0138     {JET10_MBD_NS1_ZVRTX10, "Jet 10 GeV + MBD N&S >= 1, |z| < 10 cm"},
0139     {JET12_MBD_NS1_ZVRTX10, "Jet 12 GeV + MBD N&S >= 1, |z| < 10 cm"},
0140 
0141     {PHOTON3_MBD_NS1_ZVRTX10, "Photon 3 GeV + MBD N&S >= 1, |z| < 10 cm"},
0142     {PHOTON4_MBD_NS1_ZVRTX10, "Photon 4 GeV + MBD N&S >= 1, |z| < 10 cm"},
0143     {PHOTON5_MBD_NS1_ZVRTX10, "Photon 5 GeV + MBD N&S >= 1, |z| < 10 cm"},
0144     
0145     {MBD_LASER, "MBD Laser"},
0146     {RANDOM, "Random"},
0147 
0148     {HCAL_SINGLES, "HCAL Singles"},
0149     {HCAL_NARROW_VERT, "HCAL Narrow Vertical Coincidence"},
0150     {HCAL_WIDE_VERT, "HCAL Wide Vertical Coincidence"},
0151     {HCAL_NARROW_HORZ, "HCAL Narrow Horizontal Coincidence"},
0152     {HCAL_WIDE_HORZ, "HCAL Wide Horizontal Coincidence"},
0153 
0154 };
0155 
0156 std::string GetTriggerName(TriggerEnum::BitCodes code);
0157 
0158 const std::map< TriggerEnum::BitCodes, std::string> RareProbeTriggers =
0159 {
0160     {JET6_MBD_NS1, "Jet 6 GeV + MBD N&S >= 1"},
0161     {JET8_MBD_NS1, "Jet 8 GeV + MBD N&S >= 1"},
0162     {JET10_MBD_NS1, "Jet 10 GeV + MBD N&S >= 1"},
0163     {JET12_MBD_NS1, "Jet 12 GeV + MBD N&S >= 1"},
0164     {PHOTON2_MBD_NS1, "Photon 2 GeV + MBD N&S >= 1"},
0165     {PHOTON3_MBD_NS1, "Photon 3 GeV + MBD N&S >= 1"},
0166     {PHOTON4_MBD_NS1, "Photon 4 GeV + MBD N&S >= 1"},
0167     {PHOTON5_MBD_NS1, "Photon 5 GeV + MBD N&S >= 1"},
0168 };
0169 
0170 } // namespace TriggerEnum
0171 
0172 
0173 
0174 #endif // __TRIGGERENUM_H__