]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskESDfilter.h
Fix for addtask macros and new baseclasses (from Redmer)
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskESDfilter.h
index 1319257a19a3b4bac08bdf2efb2e0fd934e9a796..7a32eae03cf77d3204bea6f25ea5e99fcc59676d 100644 (file)
@@ -32,6 +32,7 @@ class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
     virtual void   UserCreateOutputObjects();
     virtual void   Init();
     virtual void   LocalInit() {Init();}
+    virtual Bool_t Notify();
     virtual void   UserExec(Option_t *option);
     virtual void   Terminate(Option_t *option);
 
@@ -68,6 +69,7 @@ class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
     void GetCascadeCuts(Double_t cuts[8]) const {for (Int_t icut = 0; icut<8; icut++) cuts[icut] = fCascadeCuts[icut];}
 
 
+  Bool_t AddMetadataToUserInfo();
   void PrintTask(Option_t *option="all", Int_t indent=0) const;
   
   void DisableVZERO() { fIsVZEROEnabled = kFALSE; }
@@ -82,10 +84,13 @@ class AliAnalysisTaskESDfilter : public AliAnalysisTaskSE
   void DisableCells() { fAreEMCALCellsEnabled = fArePHOSCellsEnabled = kFALSE; }
   void DisableCaloTrigger(TString calo = "PHOS") { if (calo.Contains("EMCAL")) fAreEMCALTriggerEnabled = kFALSE; else fArePHOSTriggerEnabled = kFALSE; }
   void DisableTracklets() { fAreTrackletsEnabled = kFALSE; }
+  void DisableHMPID()  { fIsHMPIDEnabled = kFALSE; } 
 
   void EnableV0CascadeVerticesReco() { fIsV0CascadeRecoEnabled = kTRUE; }
 
-  virtual void SetTimeZeroType(AliESDpid::EStartTimeType_t tofTimeZeroType) {fTimeZeroType = tofTimeZeroType;}
+  void SetPropagateTrackToEMCal(Bool_t propagate) {fDoPropagateTrackToEMCal = propagate;}
+  void SetEMCalSurfaceDistance(Double_t d) {fEMCalSurfaceDistance = d;}
+
   
 private:
     AliAnalysisTaskESDfilter(const AliAnalysisTaskESDfilter&);
@@ -110,7 +115,10 @@ private:
   void ConvertVZERO(const AliESDEvent& esd);
   void ConvertTZERO(const AliESDEvent& esd);
   void ConvertZDC(const AliESDEvent& esd);
+  Int_t ConvertHMPID(const AliESDEvent& esd);
+  void ConvertTRD(const AliESDEvent& esd);
+  void PropagateTrackToEMCal(AliESDtrack *esdTrack);
+
   TClonesArray& Tracks();
   TClonesArray& V0s();
   TClonesArray& Vertices();
@@ -126,6 +134,7 @@ private:
   TF1 *        fPtshape;           //  Pt spectrum distribution
   Bool_t       fEnableFillAOD;     //  value that decides if this task activates AOD filling
   Bool_t* fUsedTrack; //! indices of used tracks
+  UInt_t* fUsedTrackCopy; //! filterbits of tracks for which a copy was added to the AODs
   Bool_t* fUsedKink; //! indices of used kinks
   Bool_t* fUsedV0; //! indices of used V0s
   TRefArray* fAODTrackRefs; // array of track references
@@ -151,6 +160,7 @@ private:
   Bool_t fIsVZEROEnabled; // whether or not to fill the vzero branch (true by default)
   Bool_t fIsTZEROEnabled; // whether or not to fill the tzero branch (true by default)
   Bool_t fIsZDCEnabled; // whether or not to fill the zdc branch (true by default)
+  Bool_t fIsHMPIDEnabled; // whether or not to fill the hmpid branch (true by default) 
   Bool_t fIsV0CascadeRecoEnabled; // whether or not to reconstruct again V0s and cascades (false by default)
   Bool_t fAreCascadesEnabled; // whether or not to fill the cascades branch (true by default)
   Bool_t fAreV0sEnabled; // whether or not to fill the v0 branch (true by default)
@@ -163,15 +173,17 @@ private:
   Bool_t fAreEMCALTriggerEnabled; // whether or not to fill the emcal trigger (true by default)
   Bool_t fArePHOSTriggerEnabled; // whether or not to fill the phos trigger (true by default)
   Bool_t fAreTrackletsEnabled; // whether or not to fill the tracklets (true by default)
+  Bool_t fIsTRDEnabled; // whether or not to fill on-line tracklets and tracks from TRD (true by default)
   AliESDpid* fESDpid; // esd pid
   Bool_t fIsPidOwner; // whether we own fESDpid
-  Int_t fTimeZeroType;  //  time zero type 
   AliESDtrackCuts* fTPCaloneTrackCuts; // TPC stand-alone track cuts
   Double_t        fV0Cuts[7];       // Array to store the values for the different reco selections V0 related
   Double_t        fCascadeCuts[8];  // Array to store the values for the different reco selections cascades related
+  Bool_t fDoPropagateTrackToEMCal;  // whether or not to propagate the tracks to the EMCal surface -- true by default
+  Double_t fEMCalSurfaceDistance;   // EMCal surface distance from the center of the detector (r = 440 by default)
   
   
-  ClassDef(AliAnalysisTaskESDfilter, 13); // Analysis task for standard ESD filtering
+  ClassDef(AliAnalysisTaskESDfilter, 17); // Analysis task for standard ESD filtering
 };
 
 #endif