]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/FLOW/AliFlowTasks/AliFlowTrackCuts.h
added some QA to flow track cuts and event cuts, trackID fix, better redoFinish and...
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowTasks / AliFlowTrackCuts.h
index c46f94f48785bdfd3363900db5025c830a78b463..c8aefaac248d1dce4d763883f9bd61582128bd2d 100644 (file)
@@ -10,6 +10,7 @@
 #define ALIFLOWTRACKCUTS_H
 
 #include <TMatrix.h>
+#include <TList.h>
 #include "AliFlowTrackSimpleCuts.h"
 #include "AliESDtrackCuts.h"
 #include "TMCProcess.h"
@@ -17,7 +18,7 @@
 #include "AliPID.h"
 #include "AliESDpid.h"
 
-class TObjArray;
+class TBrowser;
 class AliVParticle;
 class AliMCParticle;
 class AliFlowTrack;
@@ -131,10 +132,14 @@ class AliFlowTrackCuts : public AliFlowTrackSimpleCuts {
   Double_t GetMinimalTPCdedx() const {return fMinimalTPCdedx;}
   Int_t GetPmdDetPlane()const {return fPmdDet; }
   Float_t GetPmdAdc()const {return fPmdAdc;}
-  Float_t GetPmdNcell() const {return fPmdNcell; }  
+  Float_t GetPmdNcell() const {return fPmdNcell; }
+  Float_t GetBeta(const AliESDtrack* t);
+  Float_t Getdedx(const AliESDtrack* t);
  
   void SetQA() {DefineHistograms();}
-  TObjArray* GetQA() const {return fQA;}
+  TList* GetQA() const {return fQA;}
+  TH1* QAbefore(Int_t i) {return static_cast<TH1*>(static_cast<TList*>(fQA->At(0))->At(i));}
+  TH1* QAafter(Int_t i) {return static_cast<TH1*>(static_cast<TList*>(fQA->At(1))->At(i));}  
 
   //MC stuff
   void SetCutMC( Bool_t b=kTRUE );
@@ -178,6 +183,8 @@ class AliFlowTrackCuts : public AliFlowTrackSimpleCuts {
   void SetTOFpidCuts(TMatrixF* mat) {fTOFpidCuts=new TMatrixF(*mat);}
   static const char* PIDsourceName(PIDsource s);
   AliESDpid& GetESDpid() {return fESDpid;}
+  void SetAllowTOFmismatch(Bool_t b=kTRUE) {fAllowTOFmismatch=b;}
+  Bool_t GetAllowTOFmismatch() const {return fAllowTOFmismatch;}
 
   //these should maybe be protected
   Bool_t PassesCuts(AliVParticle* track);
@@ -195,6 +202,9 @@ class AliFlowTrackCuts : public AliFlowTrackSimpleCuts {
   Bool_t PassesTOFbetaSimpleCut(const AliESDtrack* track);  
   Bool_t PassesTOFpidCut(const AliESDtrack* track) const;  
 
+  void Browse(TBrowser* b);
+  Long64_t Merge(TCollection* list);
+
  protected:
   AliFlowTrack* MakeFlowTrackSPDtracklet() const;
   AliFlowTrack* MakeFlowTrackPMDtrack() const;
@@ -215,7 +225,7 @@ class AliFlowTrackCuts : public AliFlowTrackSimpleCuts {
 
   //the cuts
   AliESDtrackCuts* fAliESDtrackCuts; //alianalysis cuts
-  TObjArray* fQA;                   //qa histograms go here
+  TList* fQA;                        //qa histograms go here
   Bool_t fCutMC;                     //do we cut on MC?
   Bool_t fCutMCprocessType;          //do we cut on mc process type?
   TMCProcess fMCprocessType;         //mc process type
@@ -275,6 +285,7 @@ class AliFlowTrackCuts : public AliFlowTrackSimpleCuts {
   TMatrixF* fTOFpidCuts; //tof pid cuts
   AliPID::EParticleType fParticleID; //alipid
   Double_t fParticleProbability; //desired prob for a particle type
+  Bool_t fAllowTOFmismatch; //allow TPC mismatch
 
   // part added by F. Noferini
   static const Int_t fgkPIDptBin = 20; // pT bins for priors
@@ -284,7 +295,7 @@ class AliFlowTrackCuts : public AliFlowTrackSimpleCuts {
 
   static const Int_t fgkNumberOfV0tracks=64; //number of V0 channels
 
-  ClassDef(AliFlowTrackCuts,6)
+  ClassDef(AliFlowTrackCuts,7)
 };
 
 #endif