/* $Id$ */
#include "AliAnalysisTask.h"
-class AliVEvent;
+#include "AliVEvent.h"
+
class AliAODEvent;
class AliAODHeader;
+class AliTOFHeader;
+class AliAODVZERO;
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;}
+ 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 Int_t DebugLevel() const {return fDebug; }
+ virtual AliVEvent* InputEvent() const {return fInputEvent;}
+ virtual AliESDfriend* ESDfriend() const {return fESDfriend; }
+ virtual AliAODEvent* AODEvent() const {return fOutputAOD; }
+ virtual TTree* OutputTree() const {return fTreeA; }
+ virtual AliMCEvent* MCEvent() const {return fMCEvent; }
+ virtual Long64_t Entry() const {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
// Output histos for QA
TList* fHistosQA; //! Output histos for QA
// Provisions for replication
- static AliAODHeader* fgAODHeader; //! Header for replication
+ static AliVHeader* fgAODHeader; //! Header for replication
+ static AliTOFHeader* fgTOFHeader; //! TOFHeader for replication
+ static AliAODVZERO* fgAODVZERO; //! VZERO for replication
static TClonesArray* fgAODTracks; //! Tracks for replication
static TClonesArray* fgAODVertices; //! Vertices for replication
static TClonesArray* fgAODV0s; //! V0s for replication
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
static TClonesArray* fgAODDimuons; //! Dimuons replication
+ static TClonesArray* fgAODHmpidRings; //! HMPID replication
// Event Selection
- Bool_t fSelectCollisions; // Task processes collision candidates only
-
- ClassDef(AliAnalysisTaskSE, 3); // Analysis task for standard jet analysis
+ UInt_t fOfflineTriggerMask; // Task processes collision candidates only
+ // Event Mixing
+ AliMultiInputEventHandler *fMultiInputHandler; //! pointer to multihandler
+ AliInputEventHandler *fMCEventHandler; //! pointer to MCEventHandler
+ ClassDef(AliAnalysisTaskSE, 4); // Analysis task for standard jet analysis
};
#endif