ROOT logo
//
// Calculate the flow in the forward regions using the Q cumulants method
//
#ifndef ALIFORWARDFLOWTASKQC_H
#define ALIFORWARDFLOWTASKQC_H
/**
 * @file AliForwardFlowTaskQC.h
 * @author Alexander Hansen
 * 
 * @brief
 * 
 * @ingroup pwglf_forward_flow
 */
#include "AliAnalysisTaskSE.h"
#include "TString.h"
#include <TH2D.h>
class AliAODForwardMult;
class TH1I;
class TH1D;
class TH2I;
class TH2F;
class TH2D;
class TH3D;
class TAxis;
class AliAnalysisFilter;
class AliESDEvent;
/**
 * @defgroup pwglf_forward_tasks_flow Flow tasks 
 *
 * Code to do with flow 
 *
 * @ingroup pwglf_forward_tasks
 */
/**
 * Calculate the flow in the forward regions using the Q cumulants method
 *
 * @par Inputs:
 *   - AliAODEvent
 *
 * Outputs:
 *   - forward_flow.root
 *
 * @ingroup pwglf_forward_tasks_flow
 * @ingroup pwglf_forward_flow
 *
 */
class AliForwardFlowTaskQC : public AliAnalysisTaskSE
{
public:
  /** 
   * Constructor 
   */
  AliForwardFlowTaskQC();
  /** 
   * Constructor
   * 
   * @param name Name of task 
   */
  AliForwardFlowTaskQC(const char* name);
  /**
   * Destructor
   */
  virtual ~AliForwardFlowTaskQC() {}
  /** 
   * @{ 
   * @name Task interface methods 
   */
  /** 
   * Create output objects 
   */
  virtual void UserCreateOutputObjects();
  /**
   * Initialize the task
   */
  virtual void Init() {} 
  /** 
   * 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);
  /* @} */
  /**
   * Returns the outputlist
   * 
   * @return TList* 
   */
  TList* GetOutputList() { return fOutputList; }
  /**
   * Set max flow moment to calculate.
   * 
   * @param  n Do v_2 to v_n
   */
  void SetMaxFlowMoment(Short_t n) { fMaxMoment = n; } 
  /**
   * Set vertex binning and range
   *
   * @param axis Use this vtx axis
   */
  void SetVertexAxis(TAxis* axis) { fVtxAxis = axis; }
  /**
   * Set centrality/multiplicity binning and range
   *
   * @param axis Use this binning
   */
  void SetCentralityAxis(TAxis* axis) { fCentAxis = axis; }
  /**
   * Set detector sigma cuts
   *
   * @param fmdCut FMD sigma cut
   * @param spdCut SPD sigma cut
   */
  void SetDetectorCuts(Double_t fmdCut, Double_t spdCut) { fFMDCut = fmdCut; fSPDCut = spdCut; }
  /**
   * Set flow flags, @f$\eta@f$-gap, sym. around @f$\eta=0@f$ or
   * sat. vtx. interactions, also sets which forward detector to use
   *
   * @param flags EFlowFlags 
   */
  void SetFlowFlags(UShort_t flags);
  /**
    * Get QC type
    *
    * @param flags EFlowFlags
    * @param prepensUS prepend an underscore
    *
    * @return type
    */
  static const Char_t* GetQCType(UShort_t flags, Bool_t prependUS = kTRUE);
  /**
   *  Set @f$|\eta|@f$ value to make cut for @f$\eta@f$ gap at
   *
   * @param eg gap value
   */
  void SetEtaGapValue(Double_t eg) { fEtaGap = eg; }
  void SetTrackCuts(AliAnalysisFilter* trCuts) { fTrackCuts = trCuts; }
  /**
   * Enum for flow flags
   */
  enum EFlowFlags {
    kStdQC   = 0x0001, // Standard QC{2} and QC{4} calculations
    kEtaGap  = 0x0002, // QC{2} w/ an eta-gap
    k3Cor    = 0x0004, // 3 correlator method for QC{2} w/ an eta-gap
    kSymEta  = 0x0008, // Symmetrize ref flow in std. QC{2} and QC{4} around eta = 0
    kSatVtx  = 0x0010, // Do satellite vertex input (currently not implemented)
    kNUAcorr = 0x0020, // Apply full NUA correction
    kFMD     = 0x0040, // Use FMD for forward flow
    kVZERO   = 0x0080, // Use VZERO for forward flow
    kSPD     = 0x0100, // SPD object flag
    kMC      = 0x0200, // MC object flag
    kTracks  = 0x1000, // Use tracks for reference flow
    kTPC     = 0x3000, // Use TPC tracks
    kHybrid  = 0x5000  // Use hybrid tracks
  };
  /**
   * struct to handle cumulant calculations and control histograms
   */
  struct CumuHistos : public TObject
  {
  public:
    /*
     * Constructor
     */
    CumuHistos() : fMaxMoment(), fRefHists(), fDiffHists(), fNUA() {}
    /**
     * Constructor
     * 
     * @param n max flow moment contained
     * @param nua Make room for NUA corrected histograms
     */
    CumuHistos(Int_t n, UInt_t nua) : fMaxMoment(n), fRefHists(), fDiffHists(), fNUA(nua) {}
    /**
     * Copy constructor 
     * 
     * @param o Object to copy from
     * 
     * @return CumuHistos
     */
    CumuHistos(const CumuHistos& o)
      : TObject(o),
        fMaxMoment(o.fMaxMoment), // Max moment to compute
        fRefHists(o.fRefHists),   // List with ref hists
        fDiffHists(o.fDiffHists), // List with diff hists
        fNUA(o.fNUA)
    {}
    /**
     * Assignment operator 
     * 
     * @param o Object to assing from
     * 
     * @return reference to this 
     */
    CumuHistos& operator=(const CumuHistos& o) 
    { 
      if (&o == this) return *this;
      TObject::operator=(o);
      fMaxMoment = o.fMaxMoment;
      fRefHists  = o.fRefHists;
      fDiffHists = o.fDiffHists;
      fNUA       = o.fNUA;
      return *this;
    }
    /**
     * Destructor 
     */
    ~CumuHistos(){}
    /**
     * To access histograms
     * main function of this class
     *
     * @param t (r)eference or (d)iff
     * @param n    flow moment 
     * @param nua  nua type
     * 
     * @return requested histogram
     */
    TH1* Get(Char_t t, Int_t n, UInt_t nua = 0) const;
    /**
     * Connect internal lists to output
     *
     * @param name Name of VertexBin
     * @param l    Output list
     */
    void ConnectList(TString name, TList* l);
    /**
     * Make histograms to one of the lists
     *
     * @param h Hist to add
     */
     void Add(TH1* h) const;
    /** 
     * Check to see of lists are connected, 
     * needed for grid/proof
     *
     * @return is connected?
     */
    Bool_t IsConnected() { return (fRefHists && fDiffHists); }
    /**
     * enum for NUA histograms
     */
    enum {
      kNoNUA = 0, // No NUA applied
      kNUAOld,    // NUA correction from same moment applied
      kNUA        // Full cross-moment NUA correction applied
    };
  protected:
    /**
     * Get position of histogram in list
     *
     * @param n moment to get position of
     * @param nua nua type
     * 
     * @return position
     */
    Int_t GetPos(Int_t n, UInt_t nua) const;

    Int_t  fMaxMoment;  // Max flow moment contained
    TList* fRefHists;   // List of reference hists
    TList* fDiffHists;  // List of diff hists
    UInt_t fNUA;        // NUA tracker

    ClassDef(CumuHistos, 1);
  }; // End of struct

protected:
  /**
   * Enum for filling flow histos
   */
  enum {
    kFillRef  = 0x1, // Fill only ref flow
    kFillDiff = 0x2, // Fill only diff flow
    kFillBoth = 0x3, // Fill both
    kReset    = 0x4, // Reset hists (used with one of the above)
  };
  /**
   * Enum for event diagnostics
   */
  enum {
    kNoEvent = 1, // No event found
    kNoForward,   // No forward object found
    kNoCentral,   // No central object found
    kNoTrigger,   // No (wrong) trigger
    kNoCent,      // No centrality
    kInvCent,     // Centrality outside range
    kNoVtx,       // No vertex
    kInvVtx,      // Vertex outside range
    kOK           // Event OK!
  };
  // ----------------- Being nested class ---------------------
  /**
   * Nested class to handle cumulant calculations in vertex bins
   */
  class VertexBin : public TNamed
  {
  public:
    /*
     * Constructor
     */
    VertexBin();
    /**
     * Constructor
     * 
     * @param vLow Min vertex z-coordinate
     * @param vHigh Max vertex z-coordinate
     * @param moment Flow moment
     * @param type Data type (FMD/VZERO/SPD/FMDTR/SPDTR/MC)
     * @param flags Flags
     * @param cut Cut value 
     * @param etaGap @f$\eta@f$ gap 
     */
    VertexBin(Int_t vLow, Int_t vHigh, 
              UShort_t moment, TString type,
              UShort_t flags, 
              Double_t cut = -1, Double_t etaGap = -1.);
    /**
     * Copy constructor 
     * 
     * @param o Object to copy from
     * 
     * @return VertexBin
     */
    VertexBin(const VertexBin& o);
    /**
     * Assignment operator 
     * 
     * @param v Object to assing from
     * 
     * @return reference to this 
     */
    VertexBin& operator=(const VertexBin& v);
    /**
     * Destructor 
     */
    ~VertexBin(){}
    /**
     * Add vertex bin output to list
     * 
     * @param list Histograms are added to this list
     * @param centAxis Axis to handle centrality binning
     * 
     * @return void 
     */
    void AddOutput(TList* list, TAxis* centAxis);
    /**
     * Fill reference and differential flow histograms for analysis
     * using histograms as input
     *
     * @param dNdetadphi 2D data histogram
     * @param cent Centrality
     * @param mode fill ref/diff or both
     *
     * @return false if bad event (det. hotspot)
     */
    Bool_t FillHists(TH2D& dNdetadphi, Double_t cent, UShort_t mode);
    /** 
     * Fill reference and differential flow histograms for analysis 
     * using tracks as input
     *
     * @param trList Array with tracks
     * @param cent Centrality
     * @param mode fill ref/diff or both
     *
     * @return false if bad event (det. hotspot)
     */
    Bool_t FillTracks(TObjArray* trList, AliESDEvent* esd, AliAnalysisFilter* trFilter, UShort_t mode);
    /**
     * Do cumulants calculations for current event with 
     * centrality cent
     * 
     * @param cent Event centrality
     */
    void CumulantsAccumulate(Double_t cent);
    /**
     * Do 3 correlator cumulants calculations for current event with 
     * centrality cent
     * 
     * @param cent Event centrality
     */
    void CumulantsAccumulate3Cor(Double_t cent);
    /**
     * Get limits to do reference flow calculations for 3 correlator method
     *
     * @param bin Differential bin
     * @param aLow Lowest bin to be used for v_A
     * @param aHigh Highest bin to be used for v_A
     * @param bLow Lowest bin to be used for v_B
     * @param bHigh Highest bin to be used for v_B
     */
    void GetLimits(Int_t bin, Int_t& aLow, Int_t& aHigh, Int_t& bLow, Int_t& bHigh) const;
    /**
     * Finish cumulants calculations. Takes input and
     * output lists in case Terminate is called separately
     * 
     * @param inlist List with input histograms
     * @param outlist List with output histograms
     */
    void CumulantsTerminate(TList* inlist, TList* outlist);
    /*
     * Enumeration for cumulant histograms
     */
    enum { kW2Two = 1, // <w2*two>
	   kW2, // <w2>
	   kW4Four, // <w4*four>
	   kW4, // <w4>
	   kCosphi1phi2, // <cos(phi1+phi2)> 
	   kSinphi1phi2, // <sin(phi1+phi2)>
	   kCosphi1phi2phi3m, // <cos(phi1-phi2-phi3)>
	   kSinphi1phi2phi3m, // <sin(phi1-phi2-phi3)>
	   k3pWeight, // M(M-1)(M-1) or (mp*M-2mq)(M-1)
	   kCosphi1phi2phi3p, // <cos(phi1+phi2-phi3)>
	   kSinphi1phi2phi3p // <sin(phi1+phi2-phi3)>
	  };
  protected:
    /** 
     * Calculate reference flow
     *
     * @param cumu2 QC2 histos
     * @param cumu4 QC4 histos
     * @param quality QC Quality diag. histo
     * @param chist Centrality histogram
     * @param dNdetaRef dN/deta histogram
     */
    void CalculateReferenceFlow(CumuHistos& cumu2h, CumuHistos& cumu4h, TH2I* quality, TH1D* chist, TH2D* dNdetaRef) const;
    /** 
     * Calculate differential flow
     *
     * @param cumu2 QC2 histos
     * @param cumu4 QC4 histos
     * @param quality QC Quality diag. histo
     * @param dNdetaDiff dN/deta histogram
     */
    void CalculateDifferentialFlow(CumuHistos& cumu2h, CumuHistos& cumu4h, TH2I* quality, TH2D* dNdetaDiff) const;
    /** 
     * Calculate 3 correlator ref and fiff flow
     *
     * @param cumu2 QC2 histos
     * @param quality QC Quality diag. histo
     * @param chist Centrality histogram
     * @param dNdetaRef dN/deta histogram
     * @param dNdetaDiff dN/deta histogram
     */
    void Calculate3CorFlow(CumuHistos& cumu2h, TH2I* quality, TH1D* chist, TH2D* dNdetaRef, TH2D* dNdetaDiff) const;
    /**
     * Solve coupled eqs. to get v_n
     * 
     * @param cumu CumuHistos object with non-corrected flow results
     * @param type reference of differential flow ('r'/'d'/'a'/'b')
     */
    void SolveCoupledFlowEquations(CumuHistos& cumu, Char_t type) const;
    /**
     * Calculate NUA matrix elements to fill into the matrix
     * 
     * @param n row
     * @param m column
     * @param type reference of differential flow ('r'/'d'/'a'/'b')
     * @param binA Eta bin of phi1
     * @param cBin Centrality bin
     *
     * @return maxtrix element
     */
    Double_t CalculateNUAMatrixElement(Int_t n, Int_t m, Char_t type, Int_t binA, Int_t cBin) const;
    /**
     * Adds up the vertex bins to master profiles
     *
     * @param cumu QC histos
     * @param list output list
     * @param nNUA number of nua calculations
     */
    void AddVertexBins(CumuHistos& cumu, TList* list, UInt_t nNUA) const;
    /**
     * Get the bin number of <<cos(nphi)>>
     *
     * @param n moment
     *
     * @return bin number
     */
    Int_t GetBinNumberCos(Int_t n = 0) const;
    /**
     * Get the bin number of <<sin(nphi)>>
     *
     * @param n moment
     *
     * @return bin number
     */
    Int_t GetBinNumberSin(Int_t n = 0) const;
    /**
     * Setup NUA axis with labels
     *
     * @param axis NUA axis
     */
    void SetupNUALabels(TAxis* a) const;
    /**
     * Make diagnostics hitogram
     *
     * @param name Name
     *
     * @return hist
     */
    TH2I* MakeQualityHist(const Char_t* name) const;
    /**
     * Make output histogram
     *
     * @param qc   # of particle correlations
     * @param n    flow moment
     * @param ctype  Type of flow
     * @param nua  For nua corrected hists
     *
     * @return hist
     */
    TH2D* MakeOutputHist(Int_t qc, Int_t n, const Char_t* ctype, UInt_t nua) const;

    UShort_t   fMaxMoment;     // Max flow moment 
    Int_t      fVzMin;         // z-vertex min must be in whole [cm]
    Int_t      fVzMax;         // z-vertex max must be in whole [cm]
    TString    fType;          // Data type
    UShort_t   fFlags;         // Flow flags, e.g., eta-gap or sat. vtx
    Double_t   fSigmaCut;      // Detector specific cut for outlier events
    Double_t   fEtaGap;        // Eta gap value
    Double_t   fEtaLims[6];    // Limits for binning in 3Cor method
    TH2D*      fCumuRef;       // Histogram for reference flow
    TH2D*      fCumuDiff;      // Histogram for differential flow
    CumuHistos fCumuHists;     // Array of histograms for cumulants calculations
    TH3D*      fCumuNUARef;    // histogram for NUA terms
    TH3D*      fCumuNUADiff;   // histogram for NUA terms
    TH2F*      fdNdedpRefAcc;  // Diagnostics histogram for acc. maps
    TH2F*      fdNdedpDiffAcc; // Diagnostics histogram for acc. maps
    TH2F*      fOutliers;      // Sigma <M> histogram 
    UShort_t   fDebug;         // Debug flag

    ClassDef(VertexBin, 4); // object for eta dependent cumulants ananlysis
  };
  // ---------- End of nested class -------------
  /** 
   * Copy constructor 
   * 
   * @param o Object to copy from 
   */
  AliForwardFlowTaskQC(const AliForwardFlowTaskQC& o);
  /** 
   * Assignment operator 
   * 
   * @return Reference to this object 
   */
  AliForwardFlowTaskQC& operator=(const AliForwardFlowTaskQC&);
  /**
   * Initiate vertex bin objects
   */
  virtual void InitVertexBins();
  /**
   * Initiate diagnostics histograms
   */
  virtual void InitHists();
  /**
   * Analyze event
   *
   * @return true on success
   */
  virtual Bool_t Analyze();
  /**
   * Finalize analysis
   */
  virtual void Finalize();
  /**
   * Loops of vertex bins in list and runs analysis on those for current vertex
   *
   * @param list List of vertex bins
   * @param h dN/detadphi histogram
   * @param vtx Current vertex bin
   * @param flags Extra flags
   */
  void FillVtxBinList(const TList& list, TH2D& h1, Int_t vtx, UShort_t flags = 0x0) const;
  /**
   * Loops of vertex bins in list and runs analysis on those for current vertex
   *
   * @param list List of vertex bins
   * @param href dN/detadphi histogram for ref flow
   * @param hdiff dN/detadphi histogram for diff flow
   * @param vtx Current vertex bin
   * @param flags Extra flags
   */
  void FillVtxBinListEtaGap(const TList& list, TH2D& href, TH2D& hdiff, Int_t vtx, UShort_t flags = 0x0) const;
  /**
   * Loops of vertex bins in list and runs analysis on those for current vertex
   *
   * @param list List of vertex bins
   * @param hcent dN/detadphi histogram for central barrel
   * @param hfwd dN/detadphi histogram for fwd detectors
   * @param vtx Current vertex bin
   * @param flags Extra flags
   */
  void FillVtxBinList3Cor(const TList& list, TH2D& hcent, TH2D& hfwd, Int_t vtx, UShort_t flags = 0x0);
  /** 
   * Combine forward and central detector histograms to one histogram, to be used for 3 correlator method
   *
   * @param hcent Central data
   * @param hfwd Forward data
   *
   * @return combined hist
   */
  TH2D& CombineHists(TH2D& hcent, TH2D& hfwd);
  /**
   * Get Fill tracks from ESD or AOD input event
   *
   * @return true on success
   */
  Bool_t FillTracks(VertexBin* bin, UShort_t mode) const;
  /**
   * Loops over VertexBin list and calls terminate on each
   *
   * @param list VertexBin list
   */
  void EndVtxBinList(const TList& list) const;
  /**
   * Projects a list of TH2D's with flow
   * results to TH1's in centrality bins
   *
   * @param list List of flow results
   */
  void MakeCentralityHists(TList* list) const;
  /**
   * Check AODevent object for trigger, vertex and centrality
   * uses aod header if object is null
   * returns true if event is OK
   *
   * @param aodfm AliAODForwardMult object
   * 
   * @return Bool_t 
   */
  virtual Bool_t CheckEvent(const AliAODForwardMult* aodfm);
  /**
   * Check trigger from AODForwardMult object
   * uses aod header if object is null
   * returns true if offline trigger is present
   *
   * @param aodfm AliAODForwardMult object
   * 
   * @return Bool_t 
   */
  virtual Bool_t CheckTrigger(const AliAODForwardMult* aodfm) const;
  /**
   * Check for centrality in AliAODForwardMult object, 
   * uses aod header if object is null
   * if present return true - also sets fCent value
   *
   * @param aodfm AliAODForwardMult object
   * 
   * @return Bool_t 
   */
  virtual Bool_t GetCentrality(const AliAODForwardMult* aodfm);
  /**
   * Check for vertex in AliAODForwardMult
   * uses aod header if object is null
   * returns true if in range of fVtxAXis, also sets fVtx value
   *
   * @param aodfm AliAODForwardMult object
   * 
   * @return Bool_t 
   */
  virtual Bool_t GetVertex(const AliAODForwardMult* aodfm);
  /**
   * Get VZERO Data
   *
   * @return VZERO data object
   */
  AliVVZERO* GetVZERO() const;
  /**
   * Fill VZERO d^2N/detadphi hist
   *
   * @param aodvzero: AliAODVZERO object
   */
  void FillVZEROHist(AliVVZERO* vzero);
  /**
   * Print the setup of the task
   */
  void PrintFlowSetup() const;

  TAxis*             fVtxAxis;       //  Axis to control vertex binning
  TAxis*             fCentAxis;      //  Axis to control centrality/multiplicity binning
  Double_t           fFMDCut;        //  FMD sigma cut for outlier events
  Double_t           fSPDCut;        //  SPD sigma cut for outlier events
  UShort_t           fFlowFlags;     //  Flow flags, e.g., eta-gap, sat. vtx.
  Double_t           fEtaGap;        //  Eta gap value
  TList              fBinsForward;   //  List with forward VertexBin objects 
  TList              fBinsCentral;   //  List with central VertexBin objects
  TList*             fSumList;       //  Sum list
  TList*             fOutputList;    //  Output list
  AliAODEvent*       fAOD;           //  AOD event
  AliAnalysisFilter* fTrackCuts;     //  ESD track cuts
  Int_t              fMaxMoment;     //  Calculate v_{n} flag
  Float_t            fVtx;           //  Z vertex bin
  Double_t           fCent;          //  Centrality
  TH2D               fHistdNdedpV0;  //  VZERO d^2N/detadphi histogram
  TH2D               fHistdNdedp3Cor;//  3 correlator d^2N/detadphi histogram
  TH2D*              fHistFMDSPDCorr;//  Diagnostics hist for multiplicity correlations between FMD and SPD
  TH1D*              fHistCent;      //  Diagnostics hist for centrality
  TH1D*              fHistVertexSel; //  Diagnostics hist for selected vertices
  TH1I*              fHistEventSel;  //  Diagnostics hist for event selection

  ClassDef(AliForwardFlowTaskQC, 5); // Analysis task for flow analysis
};

#endif
// Local Variables:
//   mode: C++ 
// End:
 AliForwardFlowTaskQC.h:1
 AliForwardFlowTaskQC.h:2
 AliForwardFlowTaskQC.h:3
 AliForwardFlowTaskQC.h:4
 AliForwardFlowTaskQC.h:5
 AliForwardFlowTaskQC.h:6
 AliForwardFlowTaskQC.h:7
 AliForwardFlowTaskQC.h:8
 AliForwardFlowTaskQC.h:9
 AliForwardFlowTaskQC.h:10
 AliForwardFlowTaskQC.h:11
 AliForwardFlowTaskQC.h:12
 AliForwardFlowTaskQC.h:13
 AliForwardFlowTaskQC.h:14
 AliForwardFlowTaskQC.h:15
 AliForwardFlowTaskQC.h:16
 AliForwardFlowTaskQC.h:17
 AliForwardFlowTaskQC.h:18
 AliForwardFlowTaskQC.h:19
 AliForwardFlowTaskQC.h:20
 AliForwardFlowTaskQC.h:21
 AliForwardFlowTaskQC.h:22
 AliForwardFlowTaskQC.h:23
 AliForwardFlowTaskQC.h:24
 AliForwardFlowTaskQC.h:25
 AliForwardFlowTaskQC.h:26
 AliForwardFlowTaskQC.h:27
 AliForwardFlowTaskQC.h:28
 AliForwardFlowTaskQC.h:29
 AliForwardFlowTaskQC.h:30
 AliForwardFlowTaskQC.h:31
 AliForwardFlowTaskQC.h:32
 AliForwardFlowTaskQC.h:33
 AliForwardFlowTaskQC.h:34
 AliForwardFlowTaskQC.h:35
 AliForwardFlowTaskQC.h:36
 AliForwardFlowTaskQC.h:37
 AliForwardFlowTaskQC.h:38
 AliForwardFlowTaskQC.h:39
 AliForwardFlowTaskQC.h:40
 AliForwardFlowTaskQC.h:41
 AliForwardFlowTaskQC.h:42
 AliForwardFlowTaskQC.h:43
 AliForwardFlowTaskQC.h:44
 AliForwardFlowTaskQC.h:45
 AliForwardFlowTaskQC.h:46
 AliForwardFlowTaskQC.h:47
 AliForwardFlowTaskQC.h:48
 AliForwardFlowTaskQC.h:49
 AliForwardFlowTaskQC.h:50
 AliForwardFlowTaskQC.h:51
 AliForwardFlowTaskQC.h:52
 AliForwardFlowTaskQC.h:53
 AliForwardFlowTaskQC.h:54
 AliForwardFlowTaskQC.h:55
 AliForwardFlowTaskQC.h:56
 AliForwardFlowTaskQC.h:57
 AliForwardFlowTaskQC.h:58
 AliForwardFlowTaskQC.h:59
 AliForwardFlowTaskQC.h:60
 AliForwardFlowTaskQC.h:61
 AliForwardFlowTaskQC.h:62
 AliForwardFlowTaskQC.h:63
 AliForwardFlowTaskQC.h:64
 AliForwardFlowTaskQC.h:65
 AliForwardFlowTaskQC.h:66
 AliForwardFlowTaskQC.h:67
 AliForwardFlowTaskQC.h:68
 AliForwardFlowTaskQC.h:69
 AliForwardFlowTaskQC.h:70
 AliForwardFlowTaskQC.h:71
 AliForwardFlowTaskQC.h:72
 AliForwardFlowTaskQC.h:73
 AliForwardFlowTaskQC.h:74
 AliForwardFlowTaskQC.h:75
 AliForwardFlowTaskQC.h:76
 AliForwardFlowTaskQC.h:77
 AliForwardFlowTaskQC.h:78
 AliForwardFlowTaskQC.h:79
 AliForwardFlowTaskQC.h:80
 AliForwardFlowTaskQC.h:81
 AliForwardFlowTaskQC.h:82
 AliForwardFlowTaskQC.h:83
 AliForwardFlowTaskQC.h:84
 AliForwardFlowTaskQC.h:85
 AliForwardFlowTaskQC.h:86
 AliForwardFlowTaskQC.h:87
 AliForwardFlowTaskQC.h:88
 AliForwardFlowTaskQC.h:89
 AliForwardFlowTaskQC.h:90
 AliForwardFlowTaskQC.h:91
 AliForwardFlowTaskQC.h:92
 AliForwardFlowTaskQC.h:93
 AliForwardFlowTaskQC.h:94
 AliForwardFlowTaskQC.h:95
 AliForwardFlowTaskQC.h:96
 AliForwardFlowTaskQC.h:97
 AliForwardFlowTaskQC.h:98
 AliForwardFlowTaskQC.h:99
 AliForwardFlowTaskQC.h:100
 AliForwardFlowTaskQC.h:101
 AliForwardFlowTaskQC.h:102
 AliForwardFlowTaskQC.h:103
 AliForwardFlowTaskQC.h:104
 AliForwardFlowTaskQC.h:105
 AliForwardFlowTaskQC.h:106
 AliForwardFlowTaskQC.h:107
 AliForwardFlowTaskQC.h:108
 AliForwardFlowTaskQC.h:109
 AliForwardFlowTaskQC.h:110
 AliForwardFlowTaskQC.h:111
 AliForwardFlowTaskQC.h:112
 AliForwardFlowTaskQC.h:113
 AliForwardFlowTaskQC.h:114
 AliForwardFlowTaskQC.h:115
 AliForwardFlowTaskQC.h:116
 AliForwardFlowTaskQC.h:117
 AliForwardFlowTaskQC.h:118
 AliForwardFlowTaskQC.h:119
 AliForwardFlowTaskQC.h:120
 AliForwardFlowTaskQC.h:121
 AliForwardFlowTaskQC.h:122
 AliForwardFlowTaskQC.h:123
 AliForwardFlowTaskQC.h:124
 AliForwardFlowTaskQC.h:125
 AliForwardFlowTaskQC.h:126
 AliForwardFlowTaskQC.h:127
 AliForwardFlowTaskQC.h:128
 AliForwardFlowTaskQC.h:129
 AliForwardFlowTaskQC.h:130
 AliForwardFlowTaskQC.h:131
 AliForwardFlowTaskQC.h:132
 AliForwardFlowTaskQC.h:133
 AliForwardFlowTaskQC.h:134
 AliForwardFlowTaskQC.h:135
 AliForwardFlowTaskQC.h:136
 AliForwardFlowTaskQC.h:137
 AliForwardFlowTaskQC.h:138
 AliForwardFlowTaskQC.h:139
 AliForwardFlowTaskQC.h:140
 AliForwardFlowTaskQC.h:141
 AliForwardFlowTaskQC.h:142
 AliForwardFlowTaskQC.h:143
 AliForwardFlowTaskQC.h:144
 AliForwardFlowTaskQC.h:145
 AliForwardFlowTaskQC.h:146
 AliForwardFlowTaskQC.h:147
 AliForwardFlowTaskQC.h:148
 AliForwardFlowTaskQC.h:149
 AliForwardFlowTaskQC.h:150
 AliForwardFlowTaskQC.h:151
 AliForwardFlowTaskQC.h:152
 AliForwardFlowTaskQC.h:153
 AliForwardFlowTaskQC.h:154
 AliForwardFlowTaskQC.h:155
 AliForwardFlowTaskQC.h:156
 AliForwardFlowTaskQC.h:157
 AliForwardFlowTaskQC.h:158
 AliForwardFlowTaskQC.h:159
 AliForwardFlowTaskQC.h:160
 AliForwardFlowTaskQC.h:161
 AliForwardFlowTaskQC.h:162
 AliForwardFlowTaskQC.h:163
 AliForwardFlowTaskQC.h:164
 AliForwardFlowTaskQC.h:165
 AliForwardFlowTaskQC.h:166
 AliForwardFlowTaskQC.h:167
 AliForwardFlowTaskQC.h:168
 AliForwardFlowTaskQC.h:169
 AliForwardFlowTaskQC.h:170
 AliForwardFlowTaskQC.h:171
 AliForwardFlowTaskQC.h:172
 AliForwardFlowTaskQC.h:173
 AliForwardFlowTaskQC.h:174
 AliForwardFlowTaskQC.h:175
 AliForwardFlowTaskQC.h:176
 AliForwardFlowTaskQC.h:177
 AliForwardFlowTaskQC.h:178
 AliForwardFlowTaskQC.h:179
 AliForwardFlowTaskQC.h:180
 AliForwardFlowTaskQC.h:181
 AliForwardFlowTaskQC.h:182
 AliForwardFlowTaskQC.h:183
 AliForwardFlowTaskQC.h:184
 AliForwardFlowTaskQC.h:185
 AliForwardFlowTaskQC.h:186
 AliForwardFlowTaskQC.h:187
 AliForwardFlowTaskQC.h:188
 AliForwardFlowTaskQC.h:189
 AliForwardFlowTaskQC.h:190
 AliForwardFlowTaskQC.h:191
 AliForwardFlowTaskQC.h:192
 AliForwardFlowTaskQC.h:193
 AliForwardFlowTaskQC.h:194
 AliForwardFlowTaskQC.h:195
 AliForwardFlowTaskQC.h:196
 AliForwardFlowTaskQC.h:197
 AliForwardFlowTaskQC.h:198
 AliForwardFlowTaskQC.h:199
 AliForwardFlowTaskQC.h:200
 AliForwardFlowTaskQC.h:201
 AliForwardFlowTaskQC.h:202
 AliForwardFlowTaskQC.h:203
 AliForwardFlowTaskQC.h:204
 AliForwardFlowTaskQC.h:205
 AliForwardFlowTaskQC.h:206
 AliForwardFlowTaskQC.h:207
 AliForwardFlowTaskQC.h:208
 AliForwardFlowTaskQC.h:209
 AliForwardFlowTaskQC.h:210
 AliForwardFlowTaskQC.h:211
 AliForwardFlowTaskQC.h:212
 AliForwardFlowTaskQC.h:213
 AliForwardFlowTaskQC.h:214
 AliForwardFlowTaskQC.h:215
 AliForwardFlowTaskQC.h:216
 AliForwardFlowTaskQC.h:217
 AliForwardFlowTaskQC.h:218
 AliForwardFlowTaskQC.h:219
 AliForwardFlowTaskQC.h:220
 AliForwardFlowTaskQC.h:221
 AliForwardFlowTaskQC.h:222
 AliForwardFlowTaskQC.h:223
 AliForwardFlowTaskQC.h:224
 AliForwardFlowTaskQC.h:225
 AliForwardFlowTaskQC.h:226
 AliForwardFlowTaskQC.h:227
 AliForwardFlowTaskQC.h:228
 AliForwardFlowTaskQC.h:229
 AliForwardFlowTaskQC.h:230
 AliForwardFlowTaskQC.h:231
 AliForwardFlowTaskQC.h:232
 AliForwardFlowTaskQC.h:233
 AliForwardFlowTaskQC.h:234
 AliForwardFlowTaskQC.h:235
 AliForwardFlowTaskQC.h:236
 AliForwardFlowTaskQC.h:237
 AliForwardFlowTaskQC.h:238
 AliForwardFlowTaskQC.h:239
 AliForwardFlowTaskQC.h:240
 AliForwardFlowTaskQC.h:241
 AliForwardFlowTaskQC.h:242
 AliForwardFlowTaskQC.h:243
 AliForwardFlowTaskQC.h:244
 AliForwardFlowTaskQC.h:245
 AliForwardFlowTaskQC.h:246
 AliForwardFlowTaskQC.h:247
 AliForwardFlowTaskQC.h:248
 AliForwardFlowTaskQC.h:249
 AliForwardFlowTaskQC.h:250
 AliForwardFlowTaskQC.h:251
 AliForwardFlowTaskQC.h:252
 AliForwardFlowTaskQC.h:253
 AliForwardFlowTaskQC.h:254
 AliForwardFlowTaskQC.h:255
 AliForwardFlowTaskQC.h:256
 AliForwardFlowTaskQC.h:257
 AliForwardFlowTaskQC.h:258
 AliForwardFlowTaskQC.h:259
 AliForwardFlowTaskQC.h:260
 AliForwardFlowTaskQC.h:261
 AliForwardFlowTaskQC.h:262
 AliForwardFlowTaskQC.h:263
 AliForwardFlowTaskQC.h:264
 AliForwardFlowTaskQC.h:265
 AliForwardFlowTaskQC.h:266
 AliForwardFlowTaskQC.h:267
 AliForwardFlowTaskQC.h:268
 AliForwardFlowTaskQC.h:269
 AliForwardFlowTaskQC.h:270
 AliForwardFlowTaskQC.h:271
 AliForwardFlowTaskQC.h:272
 AliForwardFlowTaskQC.h:273
 AliForwardFlowTaskQC.h:274
 AliForwardFlowTaskQC.h:275
 AliForwardFlowTaskQC.h:276
 AliForwardFlowTaskQC.h:277
 AliForwardFlowTaskQC.h:278
 AliForwardFlowTaskQC.h:279
 AliForwardFlowTaskQC.h:280
 AliForwardFlowTaskQC.h:281
 AliForwardFlowTaskQC.h:282
 AliForwardFlowTaskQC.h:283
 AliForwardFlowTaskQC.h:284
 AliForwardFlowTaskQC.h:285
 AliForwardFlowTaskQC.h:286
 AliForwardFlowTaskQC.h:287
 AliForwardFlowTaskQC.h:288
 AliForwardFlowTaskQC.h:289
 AliForwardFlowTaskQC.h:290
 AliForwardFlowTaskQC.h:291
 AliForwardFlowTaskQC.h:292
 AliForwardFlowTaskQC.h:293
 AliForwardFlowTaskQC.h:294
 AliForwardFlowTaskQC.h:295
 AliForwardFlowTaskQC.h:296
 AliForwardFlowTaskQC.h:297
 AliForwardFlowTaskQC.h:298
 AliForwardFlowTaskQC.h:299
 AliForwardFlowTaskQC.h:300
 AliForwardFlowTaskQC.h:301
 AliForwardFlowTaskQC.h:302
 AliForwardFlowTaskQC.h:303
 AliForwardFlowTaskQC.h:304
 AliForwardFlowTaskQC.h:305
 AliForwardFlowTaskQC.h:306
 AliForwardFlowTaskQC.h:307
 AliForwardFlowTaskQC.h:308
 AliForwardFlowTaskQC.h:309
 AliForwardFlowTaskQC.h:310
 AliForwardFlowTaskQC.h:311
 AliForwardFlowTaskQC.h:312
 AliForwardFlowTaskQC.h:313
 AliForwardFlowTaskQC.h:314
 AliForwardFlowTaskQC.h:315
 AliForwardFlowTaskQC.h:316
 AliForwardFlowTaskQC.h:317
 AliForwardFlowTaskQC.h:318
 AliForwardFlowTaskQC.h:319
 AliForwardFlowTaskQC.h:320
 AliForwardFlowTaskQC.h:321
 AliForwardFlowTaskQC.h:322
 AliForwardFlowTaskQC.h:323
 AliForwardFlowTaskQC.h:324
 AliForwardFlowTaskQC.h:325
 AliForwardFlowTaskQC.h:326
 AliForwardFlowTaskQC.h:327
 AliForwardFlowTaskQC.h:328
 AliForwardFlowTaskQC.h:329
 AliForwardFlowTaskQC.h:330
 AliForwardFlowTaskQC.h:331
 AliForwardFlowTaskQC.h:332
 AliForwardFlowTaskQC.h:333
 AliForwardFlowTaskQC.h:334
 AliForwardFlowTaskQC.h:335
 AliForwardFlowTaskQC.h:336
 AliForwardFlowTaskQC.h:337
 AliForwardFlowTaskQC.h:338
 AliForwardFlowTaskQC.h:339
 AliForwardFlowTaskQC.h:340
 AliForwardFlowTaskQC.h:341
 AliForwardFlowTaskQC.h:342
 AliForwardFlowTaskQC.h:343
 AliForwardFlowTaskQC.h:344
 AliForwardFlowTaskQC.h:345
 AliForwardFlowTaskQC.h:346
 AliForwardFlowTaskQC.h:347
 AliForwardFlowTaskQC.h:348
 AliForwardFlowTaskQC.h:349
 AliForwardFlowTaskQC.h:350
 AliForwardFlowTaskQC.h:351
 AliForwardFlowTaskQC.h:352
 AliForwardFlowTaskQC.h:353
 AliForwardFlowTaskQC.h:354
 AliForwardFlowTaskQC.h:355
 AliForwardFlowTaskQC.h:356
 AliForwardFlowTaskQC.h:357
 AliForwardFlowTaskQC.h:358
 AliForwardFlowTaskQC.h:359
 AliForwardFlowTaskQC.h:360
 AliForwardFlowTaskQC.h:361
 AliForwardFlowTaskQC.h:362
 AliForwardFlowTaskQC.h:363
 AliForwardFlowTaskQC.h:364
 AliForwardFlowTaskQC.h:365
 AliForwardFlowTaskQC.h:366
 AliForwardFlowTaskQC.h:367
 AliForwardFlowTaskQC.h:368
 AliForwardFlowTaskQC.h:369
 AliForwardFlowTaskQC.h:370
 AliForwardFlowTaskQC.h:371
 AliForwardFlowTaskQC.h:372
 AliForwardFlowTaskQC.h:373
 AliForwardFlowTaskQC.h:374
 AliForwardFlowTaskQC.h:375
 AliForwardFlowTaskQC.h:376
 AliForwardFlowTaskQC.h:377
 AliForwardFlowTaskQC.h:378
 AliForwardFlowTaskQC.h:379
 AliForwardFlowTaskQC.h:380
 AliForwardFlowTaskQC.h:381
 AliForwardFlowTaskQC.h:382
 AliForwardFlowTaskQC.h:383
 AliForwardFlowTaskQC.h:384
 AliForwardFlowTaskQC.h:385
 AliForwardFlowTaskQC.h:386
 AliForwardFlowTaskQC.h:387
 AliForwardFlowTaskQC.h:388
 AliForwardFlowTaskQC.h:389
 AliForwardFlowTaskQC.h:390
 AliForwardFlowTaskQC.h:391
 AliForwardFlowTaskQC.h:392
 AliForwardFlowTaskQC.h:393
 AliForwardFlowTaskQC.h:394
 AliForwardFlowTaskQC.h:395
 AliForwardFlowTaskQC.h:396
 AliForwardFlowTaskQC.h:397
 AliForwardFlowTaskQC.h:398
 AliForwardFlowTaskQC.h:399
 AliForwardFlowTaskQC.h:400
 AliForwardFlowTaskQC.h:401
 AliForwardFlowTaskQC.h:402
 AliForwardFlowTaskQC.h:403
 AliForwardFlowTaskQC.h:404
 AliForwardFlowTaskQC.h:405
 AliForwardFlowTaskQC.h:406
 AliForwardFlowTaskQC.h:407
 AliForwardFlowTaskQC.h:408
 AliForwardFlowTaskQC.h:409
 AliForwardFlowTaskQC.h:410
 AliForwardFlowTaskQC.h:411
 AliForwardFlowTaskQC.h:412
 AliForwardFlowTaskQC.h:413
 AliForwardFlowTaskQC.h:414
 AliForwardFlowTaskQC.h:415
 AliForwardFlowTaskQC.h:416
 AliForwardFlowTaskQC.h:417
 AliForwardFlowTaskQC.h:418
 AliForwardFlowTaskQC.h:419
 AliForwardFlowTaskQC.h:420
 AliForwardFlowTaskQC.h:421
 AliForwardFlowTaskQC.h:422
 AliForwardFlowTaskQC.h:423
 AliForwardFlowTaskQC.h:424
 AliForwardFlowTaskQC.h:425
 AliForwardFlowTaskQC.h:426
 AliForwardFlowTaskQC.h:427
 AliForwardFlowTaskQC.h:428
 AliForwardFlowTaskQC.h:429
 AliForwardFlowTaskQC.h:430
 AliForwardFlowTaskQC.h:431
 AliForwardFlowTaskQC.h:432
 AliForwardFlowTaskQC.h:433
 AliForwardFlowTaskQC.h:434
 AliForwardFlowTaskQC.h:435
 AliForwardFlowTaskQC.h:436
 AliForwardFlowTaskQC.h:437
 AliForwardFlowTaskQC.h:438
 AliForwardFlowTaskQC.h:439
 AliForwardFlowTaskQC.h:440
 AliForwardFlowTaskQC.h:441
 AliForwardFlowTaskQC.h:442
 AliForwardFlowTaskQC.h:443
 AliForwardFlowTaskQC.h:444
 AliForwardFlowTaskQC.h:445
 AliForwardFlowTaskQC.h:446
 AliForwardFlowTaskQC.h:447
 AliForwardFlowTaskQC.h:448
 AliForwardFlowTaskQC.h:449
 AliForwardFlowTaskQC.h:450
 AliForwardFlowTaskQC.h:451
 AliForwardFlowTaskQC.h:452
 AliForwardFlowTaskQC.h:453
 AliForwardFlowTaskQC.h:454
 AliForwardFlowTaskQC.h:455
 AliForwardFlowTaskQC.h:456
 AliForwardFlowTaskQC.h:457
 AliForwardFlowTaskQC.h:458
 AliForwardFlowTaskQC.h:459
 AliForwardFlowTaskQC.h:460
 AliForwardFlowTaskQC.h:461
 AliForwardFlowTaskQC.h:462
 AliForwardFlowTaskQC.h:463
 AliForwardFlowTaskQC.h:464
 AliForwardFlowTaskQC.h:465
 AliForwardFlowTaskQC.h:466
 AliForwardFlowTaskQC.h:467
 AliForwardFlowTaskQC.h:468
 AliForwardFlowTaskQC.h:469
 AliForwardFlowTaskQC.h:470
 AliForwardFlowTaskQC.h:471
 AliForwardFlowTaskQC.h:472
 AliForwardFlowTaskQC.h:473
 AliForwardFlowTaskQC.h:474
 AliForwardFlowTaskQC.h:475
 AliForwardFlowTaskQC.h:476
 AliForwardFlowTaskQC.h:477
 AliForwardFlowTaskQC.h:478
 AliForwardFlowTaskQC.h:479
 AliForwardFlowTaskQC.h:480
 AliForwardFlowTaskQC.h:481
 AliForwardFlowTaskQC.h:482
 AliForwardFlowTaskQC.h:483
 AliForwardFlowTaskQC.h:484
 AliForwardFlowTaskQC.h:485
 AliForwardFlowTaskQC.h:486
 AliForwardFlowTaskQC.h:487
 AliForwardFlowTaskQC.h:488
 AliForwardFlowTaskQC.h:489
 AliForwardFlowTaskQC.h:490
 AliForwardFlowTaskQC.h:491
 AliForwardFlowTaskQC.h:492
 AliForwardFlowTaskQC.h:493
 AliForwardFlowTaskQC.h:494
 AliForwardFlowTaskQC.h:495
 AliForwardFlowTaskQC.h:496
 AliForwardFlowTaskQC.h:497
 AliForwardFlowTaskQC.h:498
 AliForwardFlowTaskQC.h:499
 AliForwardFlowTaskQC.h:500
 AliForwardFlowTaskQC.h:501
 AliForwardFlowTaskQC.h:502
 AliForwardFlowTaskQC.h:503
 AliForwardFlowTaskQC.h:504
 AliForwardFlowTaskQC.h:505
 AliForwardFlowTaskQC.h:506
 AliForwardFlowTaskQC.h:507
 AliForwardFlowTaskQC.h:508
 AliForwardFlowTaskQC.h:509
 AliForwardFlowTaskQC.h:510
 AliForwardFlowTaskQC.h:511
 AliForwardFlowTaskQC.h:512
 AliForwardFlowTaskQC.h:513
 AliForwardFlowTaskQC.h:514
 AliForwardFlowTaskQC.h:515
 AliForwardFlowTaskQC.h:516
 AliForwardFlowTaskQC.h:517
 AliForwardFlowTaskQC.h:518
 AliForwardFlowTaskQC.h:519
 AliForwardFlowTaskQC.h:520
 AliForwardFlowTaskQC.h:521
 AliForwardFlowTaskQC.h:522
 AliForwardFlowTaskQC.h:523
 AliForwardFlowTaskQC.h:524
 AliForwardFlowTaskQC.h:525
 AliForwardFlowTaskQC.h:526
 AliForwardFlowTaskQC.h:527
 AliForwardFlowTaskQC.h:528
 AliForwardFlowTaskQC.h:529
 AliForwardFlowTaskQC.h:530
 AliForwardFlowTaskQC.h:531
 AliForwardFlowTaskQC.h:532
 AliForwardFlowTaskQC.h:533
 AliForwardFlowTaskQC.h:534
 AliForwardFlowTaskQC.h:535
 AliForwardFlowTaskQC.h:536
 AliForwardFlowTaskQC.h:537
 AliForwardFlowTaskQC.h:538
 AliForwardFlowTaskQC.h:539
 AliForwardFlowTaskQC.h:540
 AliForwardFlowTaskQC.h:541
 AliForwardFlowTaskQC.h:542
 AliForwardFlowTaskQC.h:543
 AliForwardFlowTaskQC.h:544
 AliForwardFlowTaskQC.h:545
 AliForwardFlowTaskQC.h:546
 AliForwardFlowTaskQC.h:547
 AliForwardFlowTaskQC.h:548
 AliForwardFlowTaskQC.h:549
 AliForwardFlowTaskQC.h:550
 AliForwardFlowTaskQC.h:551
 AliForwardFlowTaskQC.h:552
 AliForwardFlowTaskQC.h:553
 AliForwardFlowTaskQC.h:554
 AliForwardFlowTaskQC.h:555
 AliForwardFlowTaskQC.h:556
 AliForwardFlowTaskQC.h:557
 AliForwardFlowTaskQC.h:558
 AliForwardFlowTaskQC.h:559
 AliForwardFlowTaskQC.h:560
 AliForwardFlowTaskQC.h:561
 AliForwardFlowTaskQC.h:562
 AliForwardFlowTaskQC.h:563
 AliForwardFlowTaskQC.h:564
 AliForwardFlowTaskQC.h:565
 AliForwardFlowTaskQC.h:566
 AliForwardFlowTaskQC.h:567
 AliForwardFlowTaskQC.h:568
 AliForwardFlowTaskQC.h:569
 AliForwardFlowTaskQC.h:570
 AliForwardFlowTaskQC.h:571
 AliForwardFlowTaskQC.h:572
 AliForwardFlowTaskQC.h:573
 AliForwardFlowTaskQC.h:574
 AliForwardFlowTaskQC.h:575
 AliForwardFlowTaskQC.h:576
 AliForwardFlowTaskQC.h:577
 AliForwardFlowTaskQC.h:578
 AliForwardFlowTaskQC.h:579
 AliForwardFlowTaskQC.h:580
 AliForwardFlowTaskQC.h:581
 AliForwardFlowTaskQC.h:582
 AliForwardFlowTaskQC.h:583
 AliForwardFlowTaskQC.h:584
 AliForwardFlowTaskQC.h:585
 AliForwardFlowTaskQC.h:586
 AliForwardFlowTaskQC.h:587
 AliForwardFlowTaskQC.h:588
 AliForwardFlowTaskQC.h:589
 AliForwardFlowTaskQC.h:590
 AliForwardFlowTaskQC.h:591
 AliForwardFlowTaskQC.h:592
 AliForwardFlowTaskQC.h:593
 AliForwardFlowTaskQC.h:594
 AliForwardFlowTaskQC.h:595
 AliForwardFlowTaskQC.h:596
 AliForwardFlowTaskQC.h:597
 AliForwardFlowTaskQC.h:598
 AliForwardFlowTaskQC.h:599
 AliForwardFlowTaskQC.h:600
 AliForwardFlowTaskQC.h:601
 AliForwardFlowTaskQC.h:602
 AliForwardFlowTaskQC.h:603
 AliForwardFlowTaskQC.h:604
 AliForwardFlowTaskQC.h:605
 AliForwardFlowTaskQC.h:606
 AliForwardFlowTaskQC.h:607
 AliForwardFlowTaskQC.h:608
 AliForwardFlowTaskQC.h:609
 AliForwardFlowTaskQC.h:610
 AliForwardFlowTaskQC.h:611
 AliForwardFlowTaskQC.h:612
 AliForwardFlowTaskQC.h:613
 AliForwardFlowTaskQC.h:614
 AliForwardFlowTaskQC.h:615
 AliForwardFlowTaskQC.h:616
 AliForwardFlowTaskQC.h:617
 AliForwardFlowTaskQC.h:618
 AliForwardFlowTaskQC.h:619
 AliForwardFlowTaskQC.h:620
 AliForwardFlowTaskQC.h:621
 AliForwardFlowTaskQC.h:622
 AliForwardFlowTaskQC.h:623
 AliForwardFlowTaskQC.h:624
 AliForwardFlowTaskQC.h:625
 AliForwardFlowTaskQC.h:626
 AliForwardFlowTaskQC.h:627
 AliForwardFlowTaskQC.h:628
 AliForwardFlowTaskQC.h:629
 AliForwardFlowTaskQC.h:630
 AliForwardFlowTaskQC.h:631
 AliForwardFlowTaskQC.h:632
 AliForwardFlowTaskQC.h:633
 AliForwardFlowTaskQC.h:634
 AliForwardFlowTaskQC.h:635
 AliForwardFlowTaskQC.h:636
 AliForwardFlowTaskQC.h:637
 AliForwardFlowTaskQC.h:638
 AliForwardFlowTaskQC.h:639
 AliForwardFlowTaskQC.h:640
 AliForwardFlowTaskQC.h:641
 AliForwardFlowTaskQC.h:642
 AliForwardFlowTaskQC.h:643
 AliForwardFlowTaskQC.h:644
 AliForwardFlowTaskQC.h:645
 AliForwardFlowTaskQC.h:646
 AliForwardFlowTaskQC.h:647
 AliForwardFlowTaskQC.h:648
 AliForwardFlowTaskQC.h:649
 AliForwardFlowTaskQC.h:650
 AliForwardFlowTaskQC.h:651
 AliForwardFlowTaskQC.h:652
 AliForwardFlowTaskQC.h:653
 AliForwardFlowTaskQC.h:654
 AliForwardFlowTaskQC.h:655
 AliForwardFlowTaskQC.h:656
 AliForwardFlowTaskQC.h:657
 AliForwardFlowTaskQC.h:658
 AliForwardFlowTaskQC.h:659
 AliForwardFlowTaskQC.h:660
 AliForwardFlowTaskQC.h:661
 AliForwardFlowTaskQC.h:662
 AliForwardFlowTaskQC.h:663
 AliForwardFlowTaskQC.h:664
 AliForwardFlowTaskQC.h:665
 AliForwardFlowTaskQC.h:666
 AliForwardFlowTaskQC.h:667
 AliForwardFlowTaskQC.h:668
 AliForwardFlowTaskQC.h:669
 AliForwardFlowTaskQC.h:670
 AliForwardFlowTaskQC.h:671
 AliForwardFlowTaskQC.h:672
 AliForwardFlowTaskQC.h:673
 AliForwardFlowTaskQC.h:674
 AliForwardFlowTaskQC.h:675
 AliForwardFlowTaskQC.h:676
 AliForwardFlowTaskQC.h:677
 AliForwardFlowTaskQC.h:678
 AliForwardFlowTaskQC.h:679
 AliForwardFlowTaskQC.h:680
 AliForwardFlowTaskQC.h:681
 AliForwardFlowTaskQC.h:682
 AliForwardFlowTaskQC.h:683
 AliForwardFlowTaskQC.h:684
 AliForwardFlowTaskQC.h:685
 AliForwardFlowTaskQC.h:686
 AliForwardFlowTaskQC.h:687
 AliForwardFlowTaskQC.h:688
 AliForwardFlowTaskQC.h:689
 AliForwardFlowTaskQC.h:690
 AliForwardFlowTaskQC.h:691
 AliForwardFlowTaskQC.h:692
 AliForwardFlowTaskQC.h:693
 AliForwardFlowTaskQC.h:694
 AliForwardFlowTaskQC.h:695
 AliForwardFlowTaskQC.h:696
 AliForwardFlowTaskQC.h:697
 AliForwardFlowTaskQC.h:698
 AliForwardFlowTaskQC.h:699
 AliForwardFlowTaskQC.h:700
 AliForwardFlowTaskQC.h:701
 AliForwardFlowTaskQC.h:702
 AliForwardFlowTaskQC.h:703
 AliForwardFlowTaskQC.h:704
 AliForwardFlowTaskQC.h:705
 AliForwardFlowTaskQC.h:706
 AliForwardFlowTaskQC.h:707
 AliForwardFlowTaskQC.h:708
 AliForwardFlowTaskQC.h:709
 AliForwardFlowTaskQC.h:710
 AliForwardFlowTaskQC.h:711