delta AOD using AOD as input can be can be now written using SetAODExtensionMode()
authoragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Feb 2011 09:57:16 +0000 (09:57 +0000)
committeragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Feb 2011 09:57:16 +0000 (09:57 +0000)
STEER/AliAODHandler.cxx
STEER/AliAODHandler.h

index 9fdc83b..ec39319 100644 (file)
@@ -54,6 +54,7 @@ AliAODHandler::AliAODHandler() :
     fIsStandard(kTRUE),
     fFillAOD(kTRUE),
     fFillAODRun(kTRUE),
+    fFillExtension(kTRUE),
     fNeedsHeaderReplication(kFALSE),
     fNeedsTracksBranchReplication(kFALSE),
     fNeedsVerticesBranchReplication(kFALSE),
@@ -84,6 +85,7 @@ AliAODHandler::AliAODHandler(const char* name, const char* title):
     fIsStandard(kTRUE),
     fFillAOD(kTRUE),
     fFillAODRun(kTRUE),
+    fFillExtension(kTRUE),
     fNeedsHeaderReplication(kFALSE),
     fNeedsTracksBranchReplication(kFALSE),
     fNeedsVerticesBranchReplication(kFALSE),
@@ -436,7 +438,7 @@ Bool_t AliAODHandler::FinishEvent()
       FillTree();
   }
 
-  if (fFillAOD && fFillAODRun) {      
+  if ((fFillAOD && fFillAODRun) || fFillExtension) {
     if (fExtensions) {
       TIter next(fExtensions);
       AliAODExtension *ext;
index 4534108..5de824b 100644 (file)
@@ -60,6 +60,7 @@ class AliAODHandler : public AliVEventHandler {
     virtual void         SetNeedsMCParticlesBranchReplication()  {fNeedsMCParticlesBranchReplication  = kTRUE;}
     virtual void         SetNeedsDimuonsBranchReplication()      {fNeedsDimuonsBranchReplication      = kTRUE;}
     virtual void         SetAODIsReplicated() {fAODIsReplicated = kTRUE;}
+    virtual void         SetAODExtensionMode()                   {fIsStandard=kFALSE; fFillAOD=kFALSE; fFillAODRun=kFALSE; fFillExtension=kTRUE;}
     //
     AliAODEvent*         GetAOD()  {return fAODEvent;}
     virtual TTree*       GetTree() const {return fTreeA;}
@@ -109,6 +110,7 @@ class AliAODHandler : public AliVEventHandler {
     Bool_t                   fIsStandard;                         // Flag for standard aod creation
     Bool_t                   fFillAOD;                            // Flag for filling of the AOD tree at the end (all or nothing evt by evt)
     Bool_t                   fFillAODRun;                         // Flag for filling of the AOD tree at the end (run)
+    Bool_t                   fFillExtension;                      // Flag for filling or the delta AOD tree at the end
     Bool_t                   fNeedsHeaderReplication;             // Flag for header replication
     Bool_t                   fNeedsTracksBranchReplication;       // Flag for tracks replication
     Bool_t                   fNeedsVerticesBranchReplication;     // Flag for vertices replication
@@ -130,7 +132,7 @@ class AliAODHandler : public AliVEventHandler {
     TObjArray               *fExtensions;             //  List of extensions
     TObjArray               *fFilters;                //  List of filtered AOD's
 
-  ClassDef(AliAODHandler, 6)
+  ClassDef(AliAODHandler, 7)
 };
 
 #endif