#ifndef ALIROOT_PWG2_FORWARD_ALIFORWARDCORRECTIONS_H #define ALIROOT_PWG2_FORWARD_ALIFORWARDCORRECTIONS_H #include #include "AliForwardUtil.h" #include "AliFMDSharingFilter.h" #include "AliFMDDensityCalculator.h" #include "AliFMDCorrections.h" #include "AliFMDHistCollector.h" #include "AliAODForwardMult.h" #include #include class AliFMDAnaParameters; class AliESDEvent; class TH2D; class TList; class TTree; /** * Calculate the corrections in the forward regions * * @par Inputs: * - AliESDEvent * * @par Outputs: * - AliAODForwardMult * * @par Histograms * * @par Corrections used * * @ingroup pwg2_forward_analysis * */ class AliForwardMCCorrections : public AliAnalysisTaskSE { public: /** * Constructor * * @param name Name of task */ AliForwardMCCorrections(const char* name); /** * Constructor */ AliForwardMCCorrections(); /** * Copy constructor * * @param o Object to copy from */ AliForwardMCCorrections(const AliForwardMCCorrections& o); /** * Assignment operator * * @param o Object to assign from * * @return Reference to this object */ AliForwardMCCorrections& operator=(const AliForwardMCCorrections& o); /** * @{ * @name Interface methods */ /** * Initialize the task * */ virtual void Init(); /** * Create output objects * */ virtual void UserCreateOutputObjects(); /** * Process each event * * @param option Not used */ virtual void UserExec(Option_t* option); /** * End of job * * @param option Not used */ virtual void Terminate(Option_t* option); /** * @} */ void Print(Option_t* option="") const; void SetVertexAxis(Int_t nBins, Double_t vzMin, Double_t vzMax=-1000000); void SetVertexAxis(const TAxis& axis); void SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax=-1000000); void SetEtaAxis(const TAxis& axis); protected: TH2D* GetVertexProj(Int_t v, TH3D* src) const; TH1I* fHEvents; // All Events TH1I* fHEventsTr; // Histogram of events w/trigger TH1I* fHEventsTrVtx; // Events w/trigger and vertex TH1I* fHEventsVtx; // Events w/vertex TH1I* fHTriggers; // Triggers TH3D* fPrimaryInnerAll; // Distribution of primaries - all events TH3D* fPrimaryOuterAll; // Distribution of primaries - all events TH3D* fPrimaryInnerTrVtx; // Distribution of primaries - trg+vtx events TH3D* fPrimaryOuterTrVtx; // Distribution of primaries - trg+vtx events TH3D* fHitsFMD1i; // Distribution of FMD1i hits TH3D* fHitsFMD2i; // Distribution of FMD2i hits TH3D* fHitsFMD2o; // Distribution of FMD2o hits TH3D* fHitsFMD3i; // Distribution of FMD3i hits TH3D* fHitsFMD3o; // Distribution of FMD3o hits TH1D* fStripsFMD1i; // Distribution of FMD1i # strips hit TH1D* fStripsFMD2i; // Distribution of FMD2i # strips hit TH1D* fStripsFMD2o; // Distribution of FMD2o # strips hit TH1D* fStripsFMD3i; // Distribution of FMD3i # strips hit TH1D* fStripsFMD3o; // Distribution of FMD3o # strips hit TAxis fVtxAxis; // Vertex axis TAxis fEtaAxis; // Eta axis TList* fList; // Output list ClassDef(AliForwardMCCorrections,1) // Forward corrections class }; #endif // Local Variables: // mode: C++ // End: