/**
* @file AliForwardMCFlowTaskQC.h
* @author Alexander Hansen alexander.hansen@cern.ch
- * @date Tue Feb 14 2012
*
* @brief
*
* @ingroup pwglf_forward_flow
*/
#include "AliForwardFlowTaskQC.h"
+#include "AliForwardFlowWeights.h"
#include <TH2D.h>
class TGraph;
- /**
- * @defgroup pwg2_forward_tasks_flow Flow tasks
- * @ingroup pwg2_forward_tasks
- */
/**
* Calculate the flow in the forward regions using the Q cumulants method
*
* Outputs:
* - AnalysisResults.root
*
- * @ingroup pwg2_forward_tasks_flow
- * @ingroup pwg2_forward_flow
- *
+ * @ingroup pwglf_forward_tasks_flow
+ * @ingroup pwglf_forward_flow
*
*/
class AliForwardMCFlowTaskQC : public AliForwardFlowTaskQC
* Constructor
*/
AliForwardMCFlowTaskQC();
- /*
+ /**
* Constructor
*
* @param name Name of task
* Destructor
*/
virtual ~AliForwardMCFlowTaskQC() {}
+ /**
+ * Check trigger from AODForwardMult object
+ * returns true if B trigger is present
+ *
+ * @param aodfm AliAODForwardMultObject
+ *
+ * @return Bool_t
+ */
+ virtual Bool_t CheckTrigger(const AliAODForwardMult* aodfm) const;
/**
* Check for centrality in AliAODForwardMult object,
* if present return true - also sets fCent value
* @return Bool_t
*/
virtual Bool_t GetCentrality(const AliAODForwardMult* aodfm);
- /*
+ /**
* Set use parametrization from impact parameter for centrality
*
* @param use Use impact par
*/
void SetUseImpactParameter(Bool_t use) { fUseImpactPar = use; }
- /*
+ /**
* Set string to add flow to MC truth particles
*
* @param type String
*/
void AddFlow(TString type = "") { fAddFlow = type; }
- /*
+ /**
* Set which function fAddFlow should use
*
- * @param type of AddFlow
+ * @param number Type of AddFlow
*/
void AddFlowType(Int_t number = 0) { fAddType = number; }
- /*
+ /**
* Set which order of flow to add
*
* @param order Flow order
void AddFlowOrder(Int_t order = 2) { fAddOrder = order; }
protected:
- /*
+ /**
* Copy constructor
*
* @param o Object to copy from
/**
* Assignment operator
*
+ * @param o Object to assing from
+ *
* @return Reference to this object
*/
AliForwardMCFlowTaskQC& operator=(const AliForwardMCFlowTaskQC& o);
- /*
+ /**
* Initiate vertex bin objects
*/
void InitVertexBins();
- /*
+ /**
* Initiate diagnostics histograms
*/
void InitHists();
- /*
+ /**
* Analyze event
+ *
+ * @return true on success
*/
Bool_t Analyze();
- /*
+ /**
* Finalize analysis
*/
void Finalize();
+ /**
+ * Find FMD coverage for this vtx, to make MC histogram match
+ */
+ void GetFMDLimits();
/**
* Loop over AliAODMCParticle branch object and fill d^2N/detadphi histograms
* add flow if arguments are set
*/
Bool_t LoopAODMC();
/**
- * Add pt dependent flow factor
+ * Get centrality form MC impact parameter
*
- * @param Pt @f$ p_T@f$
- * @param type Type of flow
+ * @return Centrality
*/
- Double_t AddptFlow(Double_t pt) const;
+ Double_t GetCentFromB() const;
/**
- * Add pid dependent flow factor
+ * Print the setup of the task
*
- * @param ID Particle ID
- * @param type Type of flow
- */
- Double_t AddpidFlow(Int_t id) const;
- /**
- * Add eta dependent flow factor
- *
- * @param Eta @f$\eta@f$
- * @param type Type of flow
+ * @return void
*/
- Double_t AddetaFlow(Double_t eta) const;
- /**
- * Get centrality form MC impact parameter
- */
- Double_t GetCentFromB() const;
+ virtual void PrintFlowSetup() const;
TList fBinsFMDTR; // List with FMDTR VertexBin objects
TList fBinsSPDTR; // List with SPDTR VertexBin objects
TList fBinsMC; // List with MC VertexBin objects
TH2D fdNdedpMC; // d^2N/detadphi MC truth histogram
- TGraph* fAliceCent4th; // Parametrization of ALICE QC4 vs. cent. data
- TGraph* fAlicePt2nd4050; // Parametrization of ALICE QC2 vs. pT data
- TGraph* fAlicePt4th3040; // Parametrization of ALICE QC4 vs. pT data
- TGraph* fAlicePt4th4050; // Parametrization of ALICE QC4 vs. pT data
- TGraph* fImpactParToCent; // Parametrization of b to centrality datapoints
- Bool_t fUseImpactPar; // Flag to use impact parameter for cent
+ AliForwardFlowWeights fWeights; // Flow after burner
+ TGraph* fImpactParToCent; // Parametrization of b to centrality
+ Bool_t fUseImpactPar; // Flag to use impact parameter for cent
+ Double_t fFMDMinEta; // FMD min. eta coverage for this vtx
+ Double_t fFMDMaxEta; // FMD max. eta coverage for this vtx
TString fAddFlow; // Add flow string
Int_t fAddType; // Add flow type #
Int_t fAddOrder; // Add flow order
- ClassDef(AliForwardMCFlowTaskQC, 1); // FMD MC analysis task
+ ClassDef(AliForwardMCFlowTaskQC, 3); // FMD MC analysis task
};
#endif