* @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 "AliAODForwardEP.h"
-#include "AliFMDEnergyFitter.h"
+// #include "AliFMDEnergyFitter.h"
#include "AliFMDEventPlaneFinder.h"
#include <AliESDFMD.h>
class AliESDEvent;
* 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);
/**
* @}
*/
/**
* @}
*/
+protected:
+ /**
+ * Copy constructor
+ *
+ * @param o Object to copy from
+ */
+ AliForwardMCMultiplicityTask(const AliForwardMCMultiplicityTask& o);
/**
- * Set debug level
+ * Assignment operator
*
- * @param dbg debug level
+ * @param o Object to assign from
+ *
+ * @return Reference to this object
*/
- void SetDebug(Int_t dbg);
-protected:
+ AliForwardMCMultiplicityTask&
+ operator=(const AliForwardMCMultiplicityTask& o);
/**
- * Initialise the sub objects and stuff. Called on first event
+ * Initialize members based on eta and vertex axis - only available
+ * after first event - called from SetupForData.
*
- * @return false on errors
+ * @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 Bool_t InitializeSubs();
+ 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
- AliAODForwardEP fAODEP; // 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
AliFMDHistCollector fHistCollector; // Algorithm
AliFMDEventPlaneFinder fEventPlaneFinder; // Algorithm
- TList* fList; // Output list
-
- ClassDef(AliForwardMCMultiplicityTask,1) // Forward multiplicity class
+ ClassDef(AliForwardMCMultiplicityTask,4) // Forward multiplicity class
};
#endif