/* $Id$ */
#include "AliAnalysisTask.h"
-class AliVEvent;
+#include "AliVEvent.h"
+
class AliAODEvent;
class AliAODHeader;
class AliAODTracklets;
class AliAODCaloCells;
+class AliAODCaloTrigger;
class AliMCEvent;
+class AliMCEventHandler;
class AliInputEventHandler;
+class AliMultiInputEventHandler;
class AliAnalysisCuts;
+class AliESDfriend;
+class AliEventTag;
class TTree;
class TList;
// To be implemented by user
virtual void UserCreateOutputObjects() {;}
virtual void UserExec(Option_t* /*option*/) {;}
+ virtual void UserExecMix(Option_t */*option*/) {;}
virtual Bool_t UserNotify() {return kTRUE;}
virtual void NotifyRun() {;}
// Helpers for adding branches to the AOD
virtual void AddAODBranch(const char* cname, void* addobj, const char *fname="");
// Event Selection
- virtual void SelectCollisionCandidates() {fSelectCollisions = kTRUE;}
- static void SetCollisionSelector(AliAnalysisCuts* selector) {fgCollisionSelector = selector;}
-// Getters
- virtual Int_t DebugLevel() {return fDebug; }
- virtual AliVEvent* InputEvent() {return fInputEvent;}
- virtual AliAODEvent* AODEvent() {return fOutputAOD; }
- virtual TTree* OutputTree() {return fTreeA; }
- virtual AliMCEvent* MCEvent() {return fMCEvent; }
- virtual Long64_t Entry() {return fEntry; }
- virtual const char* CurrentFileName();
- virtual Bool_t IsStandardAOD() const;
- virtual TList* GetQAHistos() const {return fHistosQA;}
+ virtual void SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB) {fOfflineTriggerMask = offlineTriggerMask;}
+ // Loading the declared input branches
+ void LoadBranches() const;
+ // Getters
+ virtual Int_t DebugLevel() {return fDebug; }
+ virtual AliVEvent* InputEvent() {return fInputEvent;}
+ virtual AliESDfriend* ESDfriend() {return fESDfriend; }
+ virtual AliAODEvent* AODEvent() {return fOutputAOD; }
+ virtual TTree* OutputTree() {return fTreeA; }
+ virtual AliMCEvent* MCEvent() {return fMCEvent; }
+ virtual Long64_t Entry() {return fEntry; }
+ virtual const AliEventTag *EventTag() const;
+ virtual const char* CurrentFileName();
+ virtual Bool_t IsStandardAOD() const;
+ virtual TList* GetQAHistos() const {return fHistosQA;}
+ virtual Bool_t IsEventInBinZero() { return kFALSE;}
+ virtual UInt_t GetCollisionCandidates() const { return fOfflineTriggerMask;}
+ protected:
+ void ConnectMultiHandler();
+ void DisconnectMultiHandler();
+
protected:
Int_t fDebug; // Debug flag
// IO
Int_t fEntry; // Current entry in the chain
AliVEvent* fInputEvent; //! VEvent Input
+ AliESDfriend* fESDfriend; //! ESD friend
AliInputEventHandler* fInputHandler; //! Input Handler
AliAODEvent* fOutputAOD; //! AOD out
AliMCEvent* fMCEvent; //! MC
static TClonesArray* fgAODJets; //! Jets for replication
static TClonesArray* fgAODFMDClusters; //! FMDClusters for replication
static TClonesArray* fgAODCaloClusters; //! CaloClusters for replication
+ static AliAODCaloTrigger* fgAODEMCALTrigger; //! Emcal Trigger for replication
+ static AliAODCaloTrigger* fgAODPHOSTrigger; //! Phos Trigger for replication
static TClonesArray* fgAODMCParticles; //! MC Particles for replicatio
static AliAODTracklets* fgAODTracklets; //! Tracklets for replication
static AliAODCaloCells* fgAODEmcalCells; //! Emcal Cell replication
static AliAODCaloCells* fgAODPhosCells; //! Phos Cell replication
- // Event selection
- static AliAnalysisCuts* fgCollisionSelector; //! Cuts to select collision events
- static Bool_t fgIsCollision; //! Collision flag
- Bool_t fSelectCollisions; // Task processes collision candidates only
-
- ClassDef(AliAnalysisTaskSE, 1); // Analysis task for standard jet analysis
+ static TClonesArray* fgAODDimuons; //! Dimuons replication
+ // Event Selection
+ UInt_t fOfflineTriggerMask; // Task processes collision candidates only
+ // Event Mixing
+ AliMultiInputEventHandler *fMultiInputHandler; //! pointer to multihandler
+ AliMCEventHandler *fMCEventHandler; //! pointer to MCEventHandler
+ ClassDef(AliAnalysisTaskSE, 4); // Analysis task for standard jet analysis
};
#endif