case kZDCTDCA : str = "ZDC TDC A"; break;
case kZDCTDCC : str = "ZDC TDC C"; break;
case kZDCTime : str = "ZDC Time Cut"; break;
+ case kCentral : str = "V0 Central"; break;
+ case kSemiCentral : str = "V0 Semi-central"; break;
default: str = ""; break;
}
AliFatal(Form("Online trigger not available for trigger %d", triggerNoFlags));
return IsLaserWarmUpTPCEvent(aEsd);
}
+ case kCentral:
+ {
+ if (offline)
+ AliFatal(Form("Offline trigger not available for trigger %d - use centrality selection", triggerNoFlags));
+ if (aEsd->GetVZEROData()) {
+ if (aEsd->GetVZEROData()->TestBit(AliESDVZERO::kTriggerChargeBitsFilled)) {
+ if (aEsd->GetVZEROData()->GetTriggerBits() & (1<<AliESDVZERO::kCTA2andCTC2))
+ decision = kTRUE;
+ }
+ else
+ AliWarning("V0 centrality trigger bits were not filled!");
+ }
+ break;
+ }
+ case kSemiCentral:
+ {
+ if (offline)
+ AliFatal(Form("Offline trigger not available for trigger %d - use centrality selection", triggerNoFlags));
+ if (aEsd->GetVZEROData()) {
+ if (aEsd->GetVZEROData()->TestBit(AliESDVZERO::kTriggerChargeBitsFilled)) {
+ if (aEsd->GetVZEROData()->GetTriggerBits() & (1<<AliESDVZERO::kCTA1andCTC1))
+ decision = kTRUE;
+ }
+ else
+ AliWarning("V0 centrality trigger bits were not filled!");
+ }
+ break;
+ }
default:
{
AliFatal(Form("Trigger type %d not implemented", triggerNoFlags));
enum Trigger { kAcceptAll = 1, kMB1 = 2, kMB2, kMB3, kSPDGFO, kSPDGFOBits, kV0A, kV0C, kV0OR, kV0AND,
kV0ABG, kV0CBG, kZDC, kZDCA, kZDCC, kFMDA, kFMDC, kFPANY, kNSD1, kMB1Prime,
kSPDGFOL0, kSPDGFOL1, kZDCTDCA, kZDCTDCC, kZDCTime, kCTPV0A, kCTPV0C, kTPCLaserWarmUp, kSPDClsVsTrkBG,
+ kCentral,kSemiCentral,
kStartOfFlags = 0x0100, kOfflineFlag = 0x8000, kOneParticle = 0x10000, kOneTrack = 0x20000}; // MB1, MB2, MB3 definition from ALICE-INT-2005-025
enum AliceSide { kASide = 1, kCSide, kCentralBarrel };
enum V0Decision { kV0Invalid = -1, kV0Empty = 0, kV0BB, kV0BG, kV0Fake };
public:
enum EOfflineTriggerTypes {
kMB = BIT(0), // Minimum bias trigger, i.e. interaction trigger, offline SPD or V0 selection
- // empty slot
kINT7 = BIT(1), // V0AND trigger, offline V0 selection
kMUON = BIT(2), // Muon trigger, offline SPD or V0 selection
kHighMult = BIT(3), // High-multiplicity trigger (threshold defined online), offline SPD or V0 selection
kEMC1 = BIT(4), // EMCAL trigger
kCINT5 = BIT(5), // Minimum bias trigger without SPD. i.e. interaction trigger, offline V0 selection
kCMUS5 = BIT(6), // Muon trigger, offline V0 selection
+ kMUSPB = BIT(6), // idem for PbPb
kMUSH7 = BIT(7), // Muon trigger: high pt, single muon, offline V0 selection, CINT7 suite
+ kMUSHPB = BIT(7), // idem for PbPb
kMUL7 = BIT(8), // Muon trigger: like sign dimuon, offline V0 selection, CINT7 suite
+ kMuonLikePB = BIT(8), // idem for PbPb
kMUU7 = BIT(9), // Muon trigger, unlike sign dimuon, offline V0 selection, CINT7 suite
+ kMuonUnlikePB = BIT(9), // idem for PbPb
kEMC7 = BIT(10), // EMCAL trigger, CINT7 suite
kMUS7 = BIT(11), // Muon trigger: low pt, single muon, offline V0 selection, CINT7 suite
kPHI1 = BIT(12), // PHOS trigger, CINT1 suite
kPHI7 = BIT(13), // PHOS trigger, CINT7 suite
+ kEMCEJE = BIT(14), // EMCAL jet patch trigger
+ kEMCEGA = BIT(15), // EMCAL gamma trigger
+ kCentral = BIT(16), // PbPb central collision trigger
+ kSemiCentral = BIT(17), // PbPb semicentral collision trigger
kUserDefined = BIT(27), // Set when custom trigger classes are set in AliPhysicsSelection, offline SPD or V0 selection
- // Bits 28 and abovr are served for FLAGS
+ // Bits 28 and above are reserved for FLAGS
kFastOnly = BIT(30), // The fast cluster fired. This bit is set in to addition another trigger bit, e.g. kMB
kAny = 0xffffffff, // to accept any trigger
kAnyINT = kMB | kINT7 | kCINT5 // to accept any interaction (aka minimum bias) trigger