1 //------------------------------------------------------
2 // AliAnalysisTaskFemto - A task for the analysis framework
3 // from the FEMTOSCOPY analysis of PWG2. Creates the necessary
4 // connection between the ESD or AOD input and the femtoscopic
6 // Author: Adam Kisiel, OSU; Adam.Kisiel@cern.ch
7 //------------------------------------------------------
8 #ifndef ALIANALYSISTASKFEMTO_H
9 #define ALIANALYSISTASKFEMTO_H
13 #include "AliESDInputHandler.h"
14 #include "AliAODHandler.h"
15 #include "AliAODInputHandler.h"
16 #include "AliMCEventHandler.h"
17 #include "AliESDEvent.h"
18 #include "AliAODEvent.h"
19 #include "AliMCEvent.h"
21 //#include "AliAnalysisTask.h"
22 #include "AliAnalysisTaskSE.h"
23 #include "AliAnalysisManager.h"
24 #include "AliAnalysisDataContainer.h"
26 #include "AliFemtoEventReaderESDChain.h"
27 #include "AliFemtoEventReaderESDChainKine.h"
28 #include "AliFemtoEventReaderAODChain.h"
29 #include "AliFemtoEventReaderStandard.h"
30 #include "AliFemtoEventReaderKinematicsChain.h"
31 #include "AliFemtoManager.h"
33 #include "AliESDpid.h"
34 #include "AliAODpidUtil.h"
37 class AliAnalysisTaskFemto : public AliAnalysisTaskSE { //AliAnalysisTask
39 AliAnalysisTaskFemto() : AliAnalysisTaskSE(), fESD(0), fESDpid(0), fAOD(0), fAODpidUtil(0), fStack(0), fOutputList(0), fReader(0x0), fManager(0x0), fAnalysisType(0), fConfigMacro(0), fConfigParams(0) {}
40 AliAnalysisTaskFemto(const char *name, const char *aConfigMacro, const char *aConfigParams);
41 AliAnalysisTaskFemto(const char *name, const char *aConfigMacro);
42 AliAnalysisTaskFemto(const AliAnalysisTaskFemto& aFemtoTask);
43 virtual ~AliAnalysisTaskFemto();
45 AliAnalysisTaskFemto& operator=(const AliAnalysisTaskFemto& aFemtoTask);
47 virtual void ConnectInputData(Option_t *);
48 virtual void CreateOutputObjects();
49 virtual void Exec(Option_t *option);
50 virtual void Terminate(Option_t *);
51 virtual void FinishTaskOutput();
53 void SetFemtoReaderESD(AliFemtoEventReaderESDChain *aReader);
54 void SetFemtoReaderESDKine(AliFemtoEventReaderESDChainKine *aReader);
55 void SetFemtoReaderAOD(AliFemtoEventReaderAODChain *aReader);
56 void SetFemtoReaderStandard(AliFemtoEventReaderStandard *aReader);
57 void SetFemtoManager(AliFemtoManager *aManager);
58 void SetFemtoReaderKinematics(AliFemtoEventReaderKinematicsChain *aReader);
61 AliESDEvent *fESD; //! ESD object
62 AliESDpid *fESDpid; //! ESDpid object
63 AliAODEvent *fAOD; //! AOD object
64 AliAODpidUtil *fAODpidUtil; // AliAODpidUtil object
66 AliStack *fStack; //! Stack from Kinematics
67 TList *fOutputList; // AliFemto results list
68 AliFemtoEventReader *fReader; //! Reference to the reader
69 AliFemtoManager *fManager; //! AliFemto top-level manager
70 int fAnalysisType; // Mark ESD of AOD analysis
71 char *fConfigMacro; // Config macro location
72 char *fConfigParams; // Config macro parameters
75 ClassDef(AliAnalysisTaskFemto, 3); // example of analysis