]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h
addded function for centrality flattening
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventReaderAOD.h
index 47abdfd9b56764fb59ab4dbbd4abf247e5b3ebbf..3c4dddb60b7763a7d9b94f11900ac297f4f8bc1f 100644 (file)
 #include "AliAODMCParticle.h"
 #include "AliFemtoV0.h"
 #include "AliAODpidUtil.h"
+#include "AliAODHeader.h"
+#include "AliAnalysisUtils.h"
 
 class AliFemtoEvent;
 class AliFemtoTrack;
 
-class AliFemtoEventReaderAOD : public AliFemtoEventReader 
+class AliFemtoEventReaderAOD : public AliFemtoEventReader
 {
  public:
+  enum EventMult {kCentrality=0, kGlobalCount=1, kReference=2, kTPCOnlyRef=3, kVZERO=4, kCentralityTRK=5, kCentralityZNA=6, kCentralityCL1=7, kCentralityCND=9,  kCentralityV0A=10, kCentralityV0C=11, kCentralityZNC=12, kCentralityCL0=13, kCentralityFMD=14, kCentralityTKL=15, kCentralityNPA=16};
+  typedef enum EventMult EstEventMult;
+
   AliFemtoEventReaderAOD();
   AliFemtoEventReaderAOD(const AliFemtoEventReaderAOD &aReader);
   virtual ~AliFemtoEventReaderAOD();
@@ -39,22 +44,31 @@ class AliFemtoEventReaderAOD : public AliFemtoEventReader
   AliFemtoString Report();
   void SetInputFile(const char* inputfile);
   void SetFilterBit(UInt_t ibit);
+  void SetFilterMask(int ibit);
   void SetReadMC(unsigned char a);
   void SetReadV0(unsigned char a);
   void SetCentralityPreSelection(double min, double max);
   void SetNoCentrality(bool anocent);
   void SetAODpidUtil(AliAODpidUtil *aAODpidUtil);
+  void SetAODheader(AliAODHeader *aAODheader);
   void SetMagneticFieldSign(int s);
+  void SetEPVZERO(Bool_t);
   void GetGlobalPositionAtGlobalRadiiThroughTPC(AliAODTrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
+  void SetUseMultiplicity(EstEventMult aType);
+  void SetpA2013(Bool_t pa2013);
+  void SetDCAglobalTrack(Bool_t dcagt);
+
+  bool RejectEventCentFlat(float MagField, float CentPercent);
+  void SetCentralityFlattening(Bool_t flat);
 
  protected:
   virtual void CopyAODtoFemtoEvent(AliFemtoEvent *tEvent);
-  virtual void CopyAODtoFemtoTrack( AliAODTrack *tAodTrack,  
+  virtual void CopyAODtoFemtoTrack( AliAODTrack *tAodTrack,
                                    AliFemtoTrack *tFemtoTrack
                                    //                              AliPWG2AODTrack *tPWG2AODTrack
-                                   ); 
-  virtual void CopyAODtoFemtoV0(AliAODv0 *tAODv0, AliFemtoV0 *tFemtoV0);                           
-  virtual void CopyPIDtoFemtoTrack( AliAODTrack *tAodTrack, 
+                                   );
+  virtual void CopyAODtoFemtoV0(AliAODv0 *tAODv0, AliFemtoV0 *tFemtoV0);
+  virtual void CopyPIDtoFemtoTrack( AliAODTrack *tAodTrack,
                                   AliFemtoTrack *tFemtoTrack);
 
   int            fNumberofEvent;    // number of Events in AOD file
@@ -63,31 +77,37 @@ class AliFemtoEventReaderAOD : public AliFemtoEventReader
   TBits          fAllTrue;          // Bit set with all true bits
   TBits          fAllFalse;         // Bit set with all false bits
   UInt_t         fFilterBit;        // Bitmap bit for AOD filters
+  UInt_t         fFilterMask;
   //  TClonesArray*  fPWG2AODTracks;    // Link to PWG2 specific AOD information (if it exists)
-  
+
   unsigned char  fReadMC;           // Attempt to read the MC information from the AOD
   unsigned char  fReadV0;           // Read V0 information from the AOD and put it into V0Collection
   unsigned char  fUsePreCent;       // Use centrality pre-selection to speed up analysis
+  EstEventMult   fEstEventMult;  // Type of the event multiplicity estimator
   double         fCentRange[2];     // Centrality pre-selection range
-  unsigned char  fNoCentrality;     // Do not use centrality determination (for pp)
   AliAODpidUtil* fAODpidUtil;
+  AliAODHeader* fAODheader;
+
 
  private:
 
-  AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel); 
+  AliAODMCParticle* GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel);
 
   string         fInputFile;        // name of input file with AOD filenames
-  string         fFileName;         // name of current AOD file
   TChain*        fTree;             // AOD tree
-  TFile*         fAodFile;          // AOD file 
+  TFile*         fAodFile;          // AOD file
   int            fMagFieldSign;     // Magnetic field sign
+  Bool_t fisEPVZ; // to get event plane angle from VZERO
+  Bool_t fpA2013; // analysis on pA 2013 data
+  Bool_t fDCAglobalTrack; // to get DCA from global tracks instead of TPC-only
+
+  bool fFlatCent;
+
 
 #ifdef __ROOT__
   ClassDef(AliFemtoEventReaderAOD, 11)
 #endif
 
 };
-  
-#endif
-
 
+#endif