virtual ~AliAODHandler();
virtual void SetOutputFileName(const char* fname);
virtual const char* GetOutputFileName();
virtual ~AliAODHandler();
virtual void SetOutputFileName(const char* fname);
virtual const char* GetOutputFileName();
virtual Bool_t Init(Option_t* option);
virtual Bool_t Init(TTree* /*tree*/, Option_t* /*option*/) {return kTRUE;}
virtual Bool_t Init(Option_t* option);
virtual Bool_t Init(TTree* /*tree*/, Option_t* /*option*/) {return kTRUE;}
virtual Bool_t Notify() { return AliVEventHandler::Notify(); };
virtual Bool_t Notify(const char * /* path */) {return kTRUE;}
virtual Bool_t FinishEvent();
virtual Bool_t Terminate();
virtual Bool_t TerminateIO();
//
virtual Bool_t Notify() { return AliVEventHandler::Notify(); };
virtual Bool_t Notify(const char * /* path */) {return kTRUE;}
virtual Bool_t FinishEvent();
virtual Bool_t Terminate();
virtual Bool_t TerminateIO();
//
- virtual void SetCreateNonStandardAOD() {fIsStandard = kFALSE;}
- virtual void SetFillAOD(Bool_t b) {fFillAOD = b;}
+ virtual void SetCreateNonStandardAOD() {fIsStandard = kFALSE;}
+ virtual void SetFillAOD(Bool_t b) {fFillAOD = b;}
+ virtual void SetFillAODforRun(Bool_t b) {fFillAODRun = b;}
virtual void SetNeedsHeaderReplication() {fNeedsHeaderReplication = kTRUE;}
virtual void SetNeedsTracksBranchReplication() {fNeedsTracksBranchReplication = kTRUE;}
virtual void SetNeedsVerticesBranchReplication() {fNeedsVerticesBranchReplication = kTRUE;}
virtual void SetNeedsV0sBranchReplication() {fNeedsV0sBranchReplication = kTRUE;}
virtual void SetNeedsHeaderReplication() {fNeedsHeaderReplication = kTRUE;}
virtual void SetNeedsTracksBranchReplication() {fNeedsTracksBranchReplication = kTRUE;}
virtual void SetNeedsVerticesBranchReplication() {fNeedsVerticesBranchReplication = kTRUE;}
virtual void SetNeedsV0sBranchReplication() {fNeedsV0sBranchReplication = kTRUE;}
virtual void SetNeedsTrackletsBranchReplication() {fNeedsTrackletsBranchReplication = kTRUE;}
virtual void SetNeedsPMDClustersBranchReplication() {fNeedsPMDClustersBranchReplication = kTRUE;}
virtual void SetNeedsJetsBranchReplication() {fNeedsJetsBranchReplication = kTRUE;}
virtual void SetNeedsFMDClustersBranchReplication() {fNeedsFMDClustersBranchReplication = kTRUE;}
virtual void SetNeedsCaloClustersBranchReplication() {fNeedsCaloClustersBranchReplication = kTRUE;}
virtual void SetNeedsTrackletsBranchReplication() {fNeedsTrackletsBranchReplication = kTRUE;}
virtual void SetNeedsPMDClustersBranchReplication() {fNeedsPMDClustersBranchReplication = kTRUE;}
virtual void SetNeedsJetsBranchReplication() {fNeedsJetsBranchReplication = kTRUE;}
virtual void SetNeedsFMDClustersBranchReplication() {fNeedsFMDClustersBranchReplication = kTRUE;}
virtual void SetNeedsCaloClustersBranchReplication() {fNeedsCaloClustersBranchReplication = kTRUE;}
virtual void SetAODIsReplicated() {fAODIsReplicated = kTRUE;}
//
AliAODEvent* GetAOD() {return fAODEvent;}
virtual TTree* GetTree() const {return fTreeA;}
TObjArray* GetExtensions() const {return fExtensions;}
virtual void SetAODIsReplicated() {fAODIsReplicated = kTRUE;}
//
AliAODEvent* GetAOD() {return fAODEvent;}
virtual TTree* GetTree() const {return fTreeA;}
TObjArray* GetExtensions() const {return fExtensions;}
void CreateTree(Int_t flag);
void FillTree();
void AddAODtoTreeUserInfo();
void AddBranch(const char* cname, void* addobj, const char *fname="");
AliAODExtension* AddExtension(const char *filename, const char *title="");
void CreateTree(Int_t flag);
void FillTree();
void AddAODtoTreeUserInfo();
void AddBranch(const char* cname, void* addobj, const char *fname="");
AliAODExtension* AddExtension(const char *filename, const char *title="");
Bool_t IsStandard() const {return fIsStandard;}
Bool_t GetFillAOD() const {return fFillAOD;}
Bool_t NeedsHeaderReplication() const {return fNeedsHeaderReplication;}
Bool_t NeedsTracksBranchReplication() const {return fNeedsTracksBranchReplication;}
Bool_t NeedsVerticesBranchReplication() const {return fNeedsVerticesBranchReplication;}
Bool_t NeedsV0sBranchReplication() const {return fNeedsV0sBranchReplication;}
Bool_t IsStandard() const {return fIsStandard;}
Bool_t GetFillAOD() const {return fFillAOD;}
Bool_t NeedsHeaderReplication() const {return fNeedsHeaderReplication;}
Bool_t NeedsTracksBranchReplication() const {return fNeedsTracksBranchReplication;}
Bool_t NeedsVerticesBranchReplication() const {return fNeedsVerticesBranchReplication;}
Bool_t NeedsV0sBranchReplication() const {return fNeedsV0sBranchReplication;}
Bool_t NeedsTrackletsBranchReplication() const {return fNeedsTrackletsBranchReplication;}
Bool_t NeedsPMDClustersBranchReplication() const {return fNeedsPMDClustersBranchReplication;}
Bool_t NeedsJetsBranchReplication() const {return fNeedsJetsBranchReplication;}
Bool_t NeedsFMDClustersBranchReplication() const {return fNeedsFMDClustersBranchReplication;}
Bool_t NeedsCaloClustersBranchReplication() const {return fNeedsCaloClustersBranchReplication;}
Bool_t NeedsMCParticlesBranchReplication() const {return fNeedsMCParticlesBranchReplication;}
Bool_t NeedsTrackletsBranchReplication() const {return fNeedsTrackletsBranchReplication;}
Bool_t NeedsPMDClustersBranchReplication() const {return fNeedsPMDClustersBranchReplication;}
Bool_t NeedsJetsBranchReplication() const {return fNeedsJetsBranchReplication;}
Bool_t NeedsFMDClustersBranchReplication() const {return fNeedsFMDClustersBranchReplication;}
Bool_t NeedsCaloClustersBranchReplication() const {return fNeedsCaloClustersBranchReplication;}
Bool_t NeedsMCParticlesBranchReplication() const {return fNeedsMCParticlesBranchReplication;}
AliAODHandler& operator=(const AliAODHandler&); // Not implemented
private:
Bool_t fIsStandard; // Flag for standard aod creation
AliAODHandler& operator=(const AliAODHandler&); // Not implemented
private:
Bool_t fIsStandard; // Flag for standard aod creation
Bool_t fNeedsHeaderReplication; // Flag for header replication
Bool_t fNeedsTracksBranchReplication; // Flag for tracks replication
Bool_t fNeedsVerticesBranchReplication; // Flag for vertices replication
Bool_t fNeedsV0sBranchReplication; // Flag for V0s replication
Bool_t fNeedsHeaderReplication; // Flag for header replication
Bool_t fNeedsTracksBranchReplication; // Flag for tracks replication
Bool_t fNeedsVerticesBranchReplication; // Flag for vertices replication
Bool_t fNeedsV0sBranchReplication; // Flag for V0s replication
Bool_t fNeedsTrackletsBranchReplication; // Flag for Tracklets replication
Bool_t fNeedsPMDClustersBranchReplication; // Flag for PMDClusters replication
Bool_t fNeedsJetsBranchReplication; // Flag for Jets replication
Bool_t fNeedsFMDClustersBranchReplication; // Flag for FMDClusters replication
Bool_t fNeedsCaloClustersBranchReplication; // Flag for CaloClusters replication
Bool_t fNeedsMCParticlesBranchReplication; // Flag for MCParticles replication
Bool_t fNeedsTrackletsBranchReplication; // Flag for Tracklets replication
Bool_t fNeedsPMDClustersBranchReplication; // Flag for PMDClusters replication
Bool_t fNeedsJetsBranchReplication; // Flag for Jets replication
Bool_t fNeedsFMDClustersBranchReplication; // Flag for FMDClusters replication
Bool_t fNeedsCaloClustersBranchReplication; // Flag for CaloClusters replication
Bool_t fNeedsMCParticlesBranchReplication; // Flag for MCParticles replication
Bool_t fAODIsReplicated; // Flag true if replication as been executed
AliAODEvent *fAODEvent; //! Pointer to the AOD event
AliMCEventHandler *fMCEventH; //! Pointer to mc event handler needed not to depend on the manager
Bool_t fAODIsReplicated; // Flag true if replication as been executed
AliAODEvent *fAODEvent; //! Pointer to the AOD event
AliMCEventHandler *fMCEventH; //! Pointer to mc event handler needed not to depend on the manager
TFile *fFileA; //! Output file
TString fFileName; // Output file name
TObjArray *fExtensions; // List of extensions
TFile *fFileA; //! Output file
TString fFileName; // Output file name
TObjArray *fExtensions; // List of extensions
//-------------------------------------------------------------------------
class AliAODExtension : public TNamed {
//-------------------------------------------------------------------------
class AliAODExtension : public TNamed {
- public:
- AliAODExtension() : TNamed(), fAODEvent(0), fTreeE(0), fFileE(0) {;}
- AliAODExtension(const char* name, const char* title) : TNamed(name,title), fAODEvent(0), fTreeE(0), fFileE(0) {;}
+ AliAODExtension() : TNamed(), fAODEvent(0), fTreeE(0), fFileE(0), fNtotal(0), fNpassed(0), fSelected(kFALSE) {}
+ AliAODExtension(const char* name, const char* title, Bool_t isfilter=kFALSE);
virtual ~AliAODExtension();
void AddBranch(const char* cname, void* addobj);
virtual ~AliAODExtension();
void AddBranch(const char* cname, void* addobj);
const char* GetOutputFileName() const {return TNamed::GetName();}
AliAODEvent* GetAOD() const {return fAODEvent;}
TTree* GetTree() const {return fTreeE;}
Bool_t Init(Option_t *option);
const char* GetOutputFileName() const {return TNamed::GetName();}
AliAODEvent* GetAOD() const {return fAODEvent;}
TTree* GetTree() const {return fTreeE;}
Bool_t Init(Option_t *option);
+ Bool_t IsFilteredAOD() const {return TObject::TestBit(kFilteredAOD);}
+ Bool_t IsEventSelected() const {return fSelected;}
+ void SelectEvent(Bool_t flag=kTRUE) {fSelected = flag;}
+ void SetEvent(AliAODEvent *event);
AliAODEvent *fAODEvent; //! Pointer to the AOD event
TTree *fTreeE; //! tree for AOD persistency
TFile *fFileE; //! Output file
AliAODEvent *fAODEvent; //! Pointer to the AOD event
TTree *fTreeE; //! tree for AOD persistency
TFile *fFileE; //! Output file