public:
AliAnalysisTaskMultiDielectron();
AliAnalysisTaskMultiDielectron(const char *name);
- virtual ~AliAnalysisTaskMultiDielectron(){ }
+ virtual ~AliAnalysisTaskMultiDielectron();
+
+ enum ETriggerLogig {kAny, kExact};
virtual void UserExec(Option_t *option);
virtual void UserCreateOutputObjects();
// virtual void NotifyRun(){AliDielectronPID::SetCorrVal((Double_t)fCurrentRunNumber);}
void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;}
- void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;}
+ void SetTriggerMask(ULong64_t mask) {fTriggerMask=mask;}
UInt_t GetTriggerMask() const { return fTriggerMask; }
+ void SetExcludeTriggerMask(ULong64_t mask) {fExcludeTriggerMask=mask;}
+ 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; }
void SetRejectPileup(Bool_t pileup=kTRUE) { fRejectPileup=pileup; }
void AddDielectron(AliDielectron * const die) { fListDielectron.Add(die); }
+ void SetBeamEnergy(Double_t beamEbyHand=-1.) { fBeamEnergy=beamEbyHand; }
protected:
enum {kAllEvents=0, kSelectedEvents, kV0andEvents, kFilteredEvents, kPileupEvents, kNbinsEvent};
+ TObjArray *fPairArray; //! output array
TList fListDielectron; // List of dielectron framework instances
TList fListHistos; //! List of histogram manager lists in the framework classes
TList fListCF; //! List with CF Managers
Bool_t fSelectPhysics; // Whether to use physics selection
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)
+
+ ETriggerLogig fTriggerLogic; // trigger logic: any or all bits need to be matching
AliTriggerAnalysis *fTriggerAnalysis; //! trigger analysis class
AliAnalysisTaskMultiDielectron(const AliAnalysisTaskMultiDielectron &c);
AliAnalysisTaskMultiDielectron& operator= (const AliAnalysisTaskMultiDielectron &c);
- ClassDef(AliAnalysisTaskMultiDielectron, 1); //Analysis Task handling multiple instances of AliDielectron
+ ClassDef(AliAnalysisTaskMultiDielectron, 4); //Analysis Task handling multiple instances of AliDielectron
};
#endif