fTriggerMask(AliVEvent::kMB),
fExcludeTriggerMask(0),
fTriggerOnV0AND(kFALSE),
+ fFiredTrigger(""),
+ fFiredExclude(kFALSE),
fRejectPileup(kFALSE),
fBeamEnergy(-1.),
fTriggerLogic(kAny),
fTriggerMask(AliVEvent::kMB),
fExcludeTriggerMask(0),
fTriggerOnV0AND(kFALSE),
+ fFiredTrigger(""),
+ fFiredExclude(kFALSE),
fRejectPileup(kFALSE),
fBeamEnergy(-1.),
fTriggerLogic(kAny),
if (fExcludeTriggerMask && (isSelected&fExcludeTriggerMask)) isRejected=kTRUE;
if (fTriggerLogic==kAny) isSelected&=fTriggerMask;
else if (fTriggerLogic==kExact) isSelected=((isSelected&fTriggerMask)==fTriggerMask);
+
+ TString firedTriggerClasses=InputEvent()->GetFiredTriggerClasses();
+ if(!fFiredTrigger.IsNull()) isSelected=(firedTriggerClasses.Contains(fFiredTrigger))^fFiredExclude;
}
}
UInt_t GetExcludeTriggerMask() const { return fExcludeTriggerMask; }
void SetTriggerLogic(ETriggerLogig log) {fTriggerLogic=log;}
ETriggerLogig GetTriggerLogic() const {return fTriggerLogic;}
+ void SetFiredTriggerName(const char* select, Bool_t exclude=kFALSE) {fFiredTrigger=select; fFiredExclude=exclude;}
void SetEventFilter(AliAnalysisCuts * const filter) {fEventFilter=filter;}
void SetTriggerOnV0AND(Bool_t v0and=kTRUE) { fTriggerOnV0AND=v0and; }
UInt_t fTriggerMask; // Event trigger mask
UInt_t fExcludeTriggerMask; // Triggers to exclude from the analysis
Bool_t fTriggerOnV0AND; // if to trigger on V0and
+ TString fFiredTrigger; // online trigger class name
+ Bool_t fFiredExclude; // cut logic: select(default) or exclude
Bool_t fRejectPileup; // pileup rejection wanted
Double_t fBeamEnergy; // beam energy in GeV (set by hand)
AddCut(kTOF,AliPID::kElectron,-3.,3.,0,200,kFALSE,AliDielectronPID::kIfAvailable);
AddCut(kTPC,AliPID::kElectron,10.);
}
+ else if (def==16) {
+ // TPC electron inclusion
+ // TOF electron inclusion if available
+ AddCut(kTOF,AliPID::kElectron,-3.,3.,0,200,kFALSE,AliDielectronPID::kIfAvailable);
+ AddCut(kTPC,AliPID::kElectron,-3.5,+3.5);
+ }
}