//=== CALL IN THE CONSTRUCTOR OF DERIVED CLASS TO DEFINE INPUTS/OUTPUTS ===
void DefineInput(Int_t islot, TClass *type);
void DefineOutput(Int_t islot, TClass *type);
- //=====================================================================
//=====================================================================
// === OVERLOAD THIS TO CONNECT TREE BRANCHES AT INPUT SLOTS. YOU
virtual void CreateOutputObjects();
// === OVERLOAD THIS IF YOU NEED TO INITIALIZE YOUR CLASS ON THE CLIENT
virtual void LocalInit();
- // === OVERLOAD THIS IF YOU NEED TO TREAT INPUT FILE CHANGE
+ // === OVERLOAD THIS IF YOU NEED TO TREAT INPUT FILE/TREE CHANGE
virtual Bool_t Notify();
+ // === OVERLOAD THIS IF YOU NEED TO TREAT BIN CHANGE IN EVENT MIXING
+ virtual Bool_t NotifyBinChange();
+ //=====================================================================
+ // Optional method that will be called in SlaveTerminate phase for each task
+ // Warning: in PROOF mode this is called before merging so their cleanup is
+ // not allowed - do output cleanup in class destructor.
+ virtual void FinishTaskOutput();
// Conect inputs/outputs to data containers (by AliAnalysisModule)
Bool_t ConnectInput(Int_t islot, AliAnalysisDataContainer *cont);
Bool_t ConnectOutput(Int_t islot, AliAnalysisDataContainer *cont);