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);
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; }
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&);
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();
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
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)
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