* @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 <AliESDFMD.h>
class AliESDEvent;
class TH2D;
* Constructor
*/
AliForwardMCMultiplicityTask();
- /**
- * Copy constructor
- *
- * @param o Object to copy from
- */
- AliForwardMCMultiplicityTask(const AliForwardMCMultiplicityTask& o);
- /**
- * Assignment operator
- *
- * @param o Object to assign from
- *
- * @return Reference to this object
- */
- AliForwardMCMultiplicityTask&
- operator=(const AliForwardMCMultiplicityTask& o);
/**
* @{
* @name Interface methods
*/
/**
- * 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);
- /**
- * End of job
- *
- * @param option Not used
- */
- virtual void Terminate(Option_t* option);
+ virtual Bool_t Event(AliESDEvent& esd);
/**
* @}
*/
* @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
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