]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/FORWARD/analysis2/AliForwardMCFlowTaskQC.h
Attempt to enable monitor objects in Proof(Lite) - doesn't work
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardMCFlowTaskQC.h
index 75cdec0701d6354832b91659a9d819eaff3234ab..4621395c59a8206cacb14d149e06fffe038a1ffc 100644 (file)
@@ -6,7 +6,6 @@
 /**
  * @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
  *
@@ -30,9 +26,8 @@ class TGraph;
  * 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
@@ -42,7 +37,7 @@ public:
    * Constructor
    */
   AliForwardMCFlowTaskQC();
-  /*
+  /**
    * Constructor
    *
    * @param name Name of task
@@ -52,6 +47,15 @@ public:
    * 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
@@ -62,25 +66,25 @@ public:
    * @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 
@@ -88,7 +92,7 @@ public:
   void AddFlowOrder(Int_t order = 2) { fAddOrder = order; }
  
 protected:
-  /*
+  /**
    * Copy constructor
    *
    * @param o Object to copy from
@@ -97,25 +101,33 @@ protected:
   /** 
    * 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
@@ -124,46 +136,32 @@ protected:
    */
   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