X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGLF%2FFORWARD%2Fanalysis2%2FAliForwardMCMultiplicityTask.h;h=a17b2e8b1b41a9e4e79a5defea60dc79ad10a53f;hb=59eb7e1ad930d6456b10db7a7d24552d8427ac0a;hp=65f21aa7f8695f0e88283f0cf0e99796e6f1b4d4;hpb=bd6f520634531fc486f7c7b7567c579b3b177861;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGLF/FORWARD/analysis2/AliForwardMCMultiplicityTask.h b/PWGLF/FORWARD/analysis2/AliForwardMCMultiplicityTask.h index 65f21aa7f86..a17b2e8b1b4 100644 --- a/PWGLF/FORWARD/analysis2/AliForwardMCMultiplicityTask.h +++ b/PWGLF/FORWARD/analysis2/AliForwardMCMultiplicityTask.h @@ -14,14 +14,13 @@ * @ingroup pwglf_forward_aod */ #include "AliForwardMultiplicityBase.h" -#include "AliForwardUtil.h" #include "AliFMDMCEventInspector.h" #include "AliFMDMCSharingFilter.h" #include "AliFMDMCDensityCalculator.h" #include "AliFMDMCCorrector.h" #include "AliFMDHistCollector.h" -#include "AliAODForwardMult.h" -#include "AliFMDEnergyFitter.h" +// #include "AliFMDEnergyFitter.h" +#include "AliFMDEventPlaneFinder.h" #include class AliESDEvent; class TH2D; @@ -61,42 +60,42 @@ public: */ AliForwardMCMultiplicityTask(); /** - * Copy constructor - * - * @param o Object to copy from + * @{ + * @name Interface methods */ - AliForwardMCMultiplicityTask(const AliForwardMCMultiplicityTask& o); /** - * Assignment operator - * - * @param o Object to assign from + * Book output objects. Derived class should define this to book + * output objects on the processing output list @c fList before the + * actual event processing. This is called on the master and on + * each slave. * - * @return Reference to this object - */ - AliForwardMCMultiplicityTask& - operator=(const AliForwardMCMultiplicityTask& o); - /** - * @{ - * @name Interface methods + * If this member function returns false, the execution is stopped + * with a fatal signal. + * + * @return true on success. */ + virtual Bool_t Book(); /** - * Create output objects + * Called before processing a single event - should not do anything + * but clear data, etc. * + * @return true on success */ - virtual void UserCreateOutputObjects(); + virtual Bool_t PreEvent(); /** * Process each event * - * @param option Not used + * @param esd ESD event */ - virtual void UserExec(Option_t* option); + virtual Bool_t Event(AliESDEvent& esd); /** - * End of job + * Called after processing a single event - should not do anything + * but clear data, etc. * - * @param option Not used + * @return true on success */ - virtual void Terminate(Option_t* option); - /** + virtual Bool_t PostEvent(); + /* * @} */ /** @@ -169,30 +168,61 @@ public: * @return Reference to AliFMDHistCollector object */ const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; } + /** + * Get reference to the EventPlaneFinder algorithm + * + * @return Reference to AliFMDEventPlaneFinder object + */ + AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; } + /** + * Get reference to the EventPlaneFinder algorithm + * + * @return Reference to AliFMDEventPlaneFinder object + */ + const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; } /** * @} */ +protected: /** - * Set debug level + * Copy constructor * - * @param dbg debug level + * @param o Object to copy from */ - void SetDebug(Int_t dbg); -protected: + AliForwardMCMultiplicityTask(const AliForwardMCMultiplicityTask& o); /** - * Initialise the sub objects and stuff. Called on first event + * Assignment operator + * + * @param o Object to assign from * + * @return Reference to this object */ - virtual void InitializeSubs(); + AliForwardMCMultiplicityTask& + operator=(const AliForwardMCMultiplicityTask& o); + /** + * Initialize members based on eta and vertex axis - only available + * after first event - called from SetupForData. + * + * @param pe @f$\eta@f$ axis + * @param pv Interaction point Z-coordinate axis + */ + virtual void InitMembers(const TAxis& pe, const TAxis& pv); + /** + * Create output branches - called from UserCreateOutputObjects + */ + virtual void CreateBranches(AliAODHandler* ah); + /** + * Do estimates of @f$dN/d\eta@f$ - called at Terminate + * + * @param input Input list + * @param output Output list + */ + virtual void EstimatedNdeta(const TList* input, TList* output) const; - TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta AliESDFMD fESDFMD; // Sharing corrected ESD object - AliForwardUtil::Histos fHistos; // Cache histograms - AliAODForwardMult fAODFMD; // Output object AliESDFMD fMCESDFMD; // MC 'Sharing corrected' ESD object AliForwardUtil::Histos fMCHistos; // MC Cache histograms AliAODForwardMult fMCAODFMD; // MC Output object - AliForwardUtil::Histos fRingSums; // Cache histograms AliForwardUtil::Histos fMCRingSums; // Cache histograms TH2D* fPrimary; // Per event primary particles @@ -201,10 +231,9 @@ protected: AliFMDMCDensityCalculator fDensityCalculator; // Algorithm AliFMDMCCorrector fCorrections; // Algorithm AliFMDHistCollector fHistCollector; // Algorithm + AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm - TList* fList; // Output list - - ClassDef(AliForwardMCMultiplicityTask,1) // Forward multiplicity class + ClassDef(AliForwardMCMultiplicityTask,4) // Forward multiplicity class }; #endif