]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliEPSelectionTask.h
Coverity 15168
[u/mrichter/AliRoot.git] / ANALYSIS / AliEPSelectionTask.h
index 879937268d2a8eb7b698c7a011ad81b9ff163fc0..2eb4c61c888eae3bb187d35043869707ed7d0890 100644 (file)
@@ -17,16 +17,18 @@ class TH2F;
 class TList;
 class TString;
 class TVector2;
-class TObjArray;
 
 class AliESDEvent;
 class AliESDtrackCuts;
 class AliESDtrack;
 class AliEventplane;
+class AliOADBContainer;
 
 class AliEPSelectionTask : public AliAnalysisTaskSE {
 
  public:
+  
+  enum ResoMethod{kRandom,kEta};
 
   AliEPSelectionTask();
   AliEPSelectionTask(const char *name);
@@ -38,35 +40,48 @@ class AliEPSelectionTask : public AliAnalysisTaskSE {
   virtual void Terminate(Option_t *option);
   
   TVector2 GetQ(AliEventplane* EP, TObjArray* event);
-  void GetQsub(TVector2& Qsub1, TVector2& Qsub2, TObjArray* event);
-  Double_t GetWeight(AliESDtrack* track);
-  Double_t GetPhiWeight(AliESDtrack* track);
-
-  virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
-  void SetInput(const char* input)         {fAnalysisInput = input;}
-  void SetUseMCRP()                       {fUseMCRP = kTRUE;}
-  void SetUsePhiWeight()                  {fUsePhiWeight = kTRUE;}
-  void SetUsePtWeight()                           {fUsePtWeight = kTRUE;}
-  void SetSaveTrackContribution()         {fSaveTrackContribution = kTRUE;}
-  void SetESDtrackCuts(TString status);
-  void SetPhiDistribution(char* filename, char* listname);
+  void GetQsub(TVector2& Qsub1, TVector2& Qsub2, TObjArray* event,AliEventplane* EP);
+  Double_t GetWeight(TObject* track1);
+  Double_t GetPhiWeight(TObject* track1);
+
+  virtual void  SetDebugLevel(Int_t level)   {fDebug = level;}
+  void SetInput(const char* input)           {fAnalysisInput = input;}
+  void SetUseMCRP()                         {fUseMCRP = kTRUE;}
+  void SetUsePhiWeight()                    {fUsePhiWeight = kTRUE;}
+  void SetUsePtWeight()                             {fUsePtWeight = kTRUE;}
+  void SetSaveTrackContribution()           {fSaveTrackContribution = kTRUE;}
+  void SetTrackType(TString tracktype);
+  void SetPhiDist();
+  void SetPersonalESDtrackCuts(AliESDtrackCuts* trackcuts);
+  void SetPersonalAODtrackCuts(UInt_t filterbit = 1, Float_t etalow = -0.8, Float_t etaup = 0.8, Float_t ptlow = 0.5, Float_t ptup = 20.);
+  void SetPersonalPhiDistribution(const char* filename, char* listname);
+  void SetEtaGap(Float_t etagap)             {fEtaGap = etagap;}
+  void SetSubeventsSplitMethod(Int_t method) {fSplitMethod = method;}
   
  private:
    
   AliEPSelectionTask(const AliEPSelectionTask& ep);
   AliEPSelectionTask& operator= (const AliEPSelectionTask& ep); 
 
-  Int_t    fDebug;                     // Debug flag
+  TObjArray* GetAODTracksAndMaxID(AliAODEvent* aod, Int_t& maxid);
+
   TString  fAnalysisInput;             // "ESD", "AOD"
-  TString  fStatus;                    // "GLOBAL", "TPC"
+  TString  fTrackType;                 // "GLOBAL", "TPC"
   Bool_t   fUseMCRP;                   // i.e. usable for Therminator, when MC RP is provided
   Bool_t   fUsePhiWeight;              // use of phi weights
   Bool_t   fUsePtWeight;               // use of pT weights
   Bool_t   fSaveTrackContribution;     // storage of contribution of each track to Q-Vector
+  Bool_t   fUserphidist;               // bool, if personal phi distribution should be used
+  Bool_t   fUsercuts;                  // bool, if personal cuts should be used
+  Int_t    fRunNumber;                 // runnumber
+  UInt_t   fAODfilterbit;               // AOD filter bit for AOD track selection  
+  Float_t  fEtaGap;                     // Eta Gap between Subevent A and B
+  Int_t    fSplitMethod;                // Splitting Method for subevents
   
-  AliESDtrackCuts* fESDtrackCuts;       //! track cuts
+
+  AliESDtrackCuts* fESDtrackCuts;       // track cuts
   
-  TObjArray* ftracklist;               //! list of accepted tracks for Q-Vector
+  AliOADBContainer* fEPContainer;      //! OADB Container
   TH1F*         fPhiDist;                      // Phi distribution used to calculate phi weights
 
   TVector2* fQVector;                  //! Q-Vector of the event  
@@ -77,7 +92,7 @@ class AliEPSelectionTask : public AliAnalysisTaskSE {
   TVector2* fQsub2;                    //! Q-Vector of sub-event 2
   Double_t  fQsubRes;                  //! Difference of EP angles of subevents
   
-  TList* fOutputList;  
+  TList* fOutputList;                   // Output histograms
   TH1F*  fHOutEventplaneQ;             //! control histogram: Event Plane angle
   TH1F*  fHOutPhi;                     //! control histogram: original phi distribution
   TH1F*         fHOutPhiCorr;                  //! control histogram: corrected phi distribution
@@ -87,7 +102,7 @@ class AliEPSelectionTask : public AliAnalysisTaskSE {
   TH2F*         fHOutDiff;                     //! control histogram: Difference of MC RP and EP - only filled if fUseMCRP is true!
   TH2F*  fHOutleadPTPsi;               //! control histogram: emission angle of leading pT track vs EP angle
 
-  ClassDef(AliEPSelectionTask,2); 
+  ClassDef(AliEPSelectionTask,4); 
 };
 
 #endif