#ifndef ALIDNDPTTRACKDUMPTASK_H #define ALIDNDPTTRACKDUMPTASK_H //------------------------------------------------------------------------------ // Task to dump track information // TPC constrained and TP+ITS combined // for outliers analysis. // // Author: J.Otwinowski 19/06/2011 //------------------------------------------------------------------------------ class AliESDEvent; class AliMCEvent; class AlidNdPtEventCuts; class AlidNdPtAcceptanceCuts; class AliESDtrackCuts; class AlidNdPt; class AlidNdPtAnalysis; class AlidNdPtCorrection; class AliMagFMaps; class AliESDEvent; class AliMCEvent; class TList; class TTree; class TTreeSRedirector; #include "AliTriggerAnalysis.h" #include "AliAnalysisTaskSE.h" #include "dNdPt/AlidNdPtHelper.h" class AlidNdPtTrackDumpTask : public AliAnalysisTaskSE { public: AlidNdPtTrackDumpTask(const char *name = "AlidNdPtTrackDumpTask"); virtual ~AlidNdPtTrackDumpTask(); virtual void UserCreateOutputObjects(); virtual void UserExec(Option_t *option); virtual void Terminate(Option_t *); virtual Bool_t Notify(); virtual void FinishTaskOutput(); void SetUseMCInfo(Bool_t info) { fUseMCInfo = info; } Bool_t IsUseMCInfo() const { return fUseMCInfo; } // Process events virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0); void SetEventCuts(AlidNdPtEventCuts* const cuts) { fdNdPtEventCuts = cuts; } void SetAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtAcceptanceCuts = cuts; } void SetRecAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtRecAcceptanceCuts = cuts; } void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; } void SetTrigger(const AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; } void SetAnalysisMode(const AlidNdPtHelper::AnalysisMode mode) { fAnalysisMode = mode; } AlidNdPtEventCuts* GetEventCuts() const { return fdNdPtEventCuts; } AlidNdPtAcceptanceCuts* GetAcceptanceCuts() const { return fdNdPtAcceptanceCuts; } AlidNdPtAcceptanceCuts* GetRecAcceptanceCuts() const { return fdNdPtRecAcceptanceCuts; } AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; } AliTriggerAnalysis::Trigger GetTrigger() const { return fTrigger; } AlidNdPtHelper::AnalysisMode GetAnalysisMode() const { return fAnalysisMode; } TString GetCentralityEstimator() const {return fCentralityEstimator; } void SetCentralityEstimator(TString centEst="V0M") { fCentralityEstimator = centEst; } Bool_t IsFromConversion(const Int_t label, AliStack *const stack); Bool_t IsFromMaterial(const Int_t label, AliStack *const stack); Bool_t IsFromStrangeness(const Int_t label, AliStack *const stack); TParticle *GetMother(TParticle *const particle, AliStack *const stack); Bool_t ConstrainTPCInner(AliExternalTrackParam *const tpcInnerC, const AliESDVertex* vtx, Double_t b[3]); Bool_t ConstrainTrackInner(AliExternalTrackParam *const trackInnerC, const AliESDVertex* vtx, Double_t mass, Double_t b[3]); private: AliESDEvent *fESD; //! ESD event AliMCEvent *fMC; //! MC event AliESDfriend *fESDfriend; //! ESDfriend event TList* fOutput; //! list send on output slot 0 TIterator *fPitList; //! iterator over the output objetcs Bool_t fUseMCInfo; //! use MC information AlidNdPtEventCuts *fdNdPtEventCuts; //! event cuts AlidNdPtAcceptanceCuts *fdNdPtAcceptanceCuts; //! acceptance cuts AlidNdPtAcceptanceCuts *fdNdPtRecAcceptanceCuts; //! additional recontruction acceptance cuts (not used for MC truth) AliESDtrackCuts *fEsdTrackCuts; //! esd track cuts AliTriggerAnalysis::Trigger fTrigger; //! trigger settings AlidNdPtHelper::AnalysisMode fAnalysisMode; //! analysis mode TPC only, TPC + ITS TTree* fOutputSummary; //! tree to dump output TTreeSRedirector* fTreeSRedirector; //! temp tree to dump output TString fCentralityEstimator; //! use centrality can be "VOM" (default), "FMD", "TRK", "TKL", "CL0", "CL1", "V0MvsFMD", "TKLvsV0M", "ZEMvsZDC" AlidNdPtTrackDumpTask(const AlidNdPtTrackDumpTask&); // not implemented AlidNdPtTrackDumpTask& operator=(const AlidNdPtTrackDumpTask&); // not implemented ClassDef(AlidNdPtTrackDumpTask, 1); // example of analysis }; #endif