#include <TList.h>
#include "AliForwardUtil.h"
class TH2D;
-
+class TH2;
/**
* @defgroup pwglf_forward_algo Algorithms
*
+ * Various sub-algorithms used in the analysis
+ *
* @ingroup pwglf_forward
*/
/**
*
* @param etaAxis Eta axis to use -- not used
*/
- virtual void Init(const TAxis& etaAxis);
+ virtual void SetupForData(const TAxis& etaAxis);
/**
* Do the calculations
*
* Scale the histograms to the total number of events
*
* @param dir Where the output is stored
+ * @param output Output list
* @param nEvents Number of events
*/
- virtual void ScaleHistograms(const TList* dir, Int_t nEvents);
+ virtual void Terminate(const TList* dir, TList* output, Int_t nEvents);
/**
* Output diagnostic histograms to directory
*
* @param dir List to write in
*/
- virtual void DefineOutput(TList* dir);
+ virtual void CreateOutputObjects(TList* dir);
/**
* Set the debug level. The higher the value the more output
*
*
* @param dir Where to put it
*/
- void Output(TList* dir);
+ void CreateOutputObjects(TList* dir);
/**
* Scale the histograms to the total number of events
*
* @param dir where the output is stored
* @param nEvents Number of events
*/
- void ScaleHistograms(TList* dir, Int_t nEvents);
+ void Terminate(TList* dir, Int_t nEvents);
TH2D* fDensity; // Distribution primary Nch
- ClassDef(RingHistos,1);
+ ClassDef(RingHistos,2);
};
/**
* Get the ring histogram container
* @return Ring histogram container
*/
RingHistos* GetRingHistos(UShort_t d, Char_t r) const;
-
+ /**
+ * Divide a map with another map. This is a reimplementation of
+ * TH1::Divide, but we assume compatible histograms, and the under-
+ * and overflow bins are only divided if the third argument is true.
+ *
+ * @param num Numerator. On return contains the result
+ * @param denom Denominator
+ * @param alsoUnderOver If true, also divide under/overflow bins
+ */
+ void DivideMap(TH2* num, const TH2* denom, Bool_t alsoUnderOver=false) const;
TList fRingHistos; // List of histogram containers
Bool_t fUseSecondaryMap; // Whether to do correction for secondaries
Bool_t fUseVertexBias; // Whether to do correction for vertex bias
Bool_t fUseMergingEfficiency; // Whether to use the merging efficiency
Int_t fDebug; // Debug level
- ClassDef(AliFMDCorrector,2); // Correct the inclusive d2N/detadphi
+ ClassDef(AliFMDCorrector,4); // Correct the inclusive d2N/detadphi
};
#endif