#ifndef ALIANALYSISTASKFIRSTPHYSICS_H
#define ALIANALYSISTASKFIRSTPHYSICS_H
class TH1D;
class TH2D;
class TList;
class AliESDtrackCuts;
class AliESDEvent;
#include "AliAnalysisTaskSE.h"
#include "AliTriggerAnalysis.h"
#include <string>
class AliAnalysisTaskFirstPhysics : public AliAnalysisTaskSE {
public:
enum {
kTrackCutQGlo,
kTrackCutQITS,
kTrackCutDCAwSPD,
kTrackCutDCAwoSPD,
kTrackCutNoSPD,
kTrackCutTPConly,
knTrackCuts};
enum ProcessType {
kProcSD1,
kProcSD2,
kProcDD,
kProcEL,
kProcCD,
kProcND,
kProcIndef};
AliAnalysisTaskFirstPhysics(const char *name = "You should have given a name to this analysis");
virtual ~AliAnalysisTaskFirstPhysics();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
void SetCutTrackPt(Double_t min, Double_t max) {fCutTrackPtMin = min; fCutTrackPtMax = max;}
Double_t GetCutTrackPtMin() const {return fCutTrackPtMin;}
Double_t GetCutTrackPtMax() const {return fCutTrackPtMax;}
void SetCutEta(Double_t x) {fCutEta = x;}
Double_t GetCutEta() const {return fCutEta;}
void SetCutVertexZ(Double_t x) {fCutVertexZ = x;}
Double_t GetCutVertexZ() const {return fCutVertexZ;}
protected:
void PrepareOutputList();
void PrepareDefaultTrackCuts();
bool PrepareMCInfo();
bool GetESDEvent();
bool CheckVertex();
bool CheckVertexMC();
TH1D* UserHisto1d(const char *name, const char *title, const char *xlabel, Int_t nbinsx, Double_t xlow, Double_t xup);
TH2D* UserHisto2d(const char *name, const char *title, const char *xlabel, Int_t nbinsx, Double_t xlow, Double_t xup, const char *ylabel, Int_t nbinsy, Double_t ylow, Double_t yup);
bool GetHisto1FromOutput(const char *name, TH1D *&h) const;
bool GetHisto2FromOutput(const char *name, TH2D *&h) const;
AliESDEvent *fESD;
AliMCEvent *fMCEvent;
TList *fOutput;
bool fbReadMC;
ProcessType fMCProcessType;
AliESDtrackCuts *fTrackCuts[knTrackCuts];
AliTriggerAnalysis* fTrigger;
private:
Double_t fCutTrackPtMin;
Double_t fCutTrackPtMax;
Double_t fCutEta;
Double_t fCutVertexZ;
AliAnalysisTaskFirstPhysics(const AliAnalysisTaskFirstPhysics&);
AliAnalysisTaskFirstPhysics& operator=(const AliAnalysisTaskFirstPhysics&);
ClassDef(AliAnalysisTaskFirstPhysics, 1);
};
#endif
AliAnalysisTaskFirstPhysics.h:1 AliAnalysisTaskFirstPhysics.h:2 AliAnalysisTaskFirstPhysics.h:3 AliAnalysisTaskFirstPhysics.h:4 AliAnalysisTaskFirstPhysics.h:5 AliAnalysisTaskFirstPhysics.h:6 AliAnalysisTaskFirstPhysics.h:7 AliAnalysisTaskFirstPhysics.h:8 AliAnalysisTaskFirstPhysics.h:9 AliAnalysisTaskFirstPhysics.h:10 AliAnalysisTaskFirstPhysics.h:11 AliAnalysisTaskFirstPhysics.h:12 AliAnalysisTaskFirstPhysics.h:13 AliAnalysisTaskFirstPhysics.h:14 AliAnalysisTaskFirstPhysics.h:15 AliAnalysisTaskFirstPhysics.h:16 AliAnalysisTaskFirstPhysics.h:17 AliAnalysisTaskFirstPhysics.h:18 AliAnalysisTaskFirstPhysics.h:19 AliAnalysisTaskFirstPhysics.h:20 AliAnalysisTaskFirstPhysics.h:21 AliAnalysisTaskFirstPhysics.h:22 AliAnalysisTaskFirstPhysics.h:23 AliAnalysisTaskFirstPhysics.h:24 AliAnalysisTaskFirstPhysics.h:25 AliAnalysisTaskFirstPhysics.h:26 AliAnalysisTaskFirstPhysics.h:27 AliAnalysisTaskFirstPhysics.h:28 AliAnalysisTaskFirstPhysics.h:29 AliAnalysisTaskFirstPhysics.h:30 AliAnalysisTaskFirstPhysics.h:31 AliAnalysisTaskFirstPhysics.h:32 AliAnalysisTaskFirstPhysics.h:33 AliAnalysisTaskFirstPhysics.h:34 AliAnalysisTaskFirstPhysics.h:35 AliAnalysisTaskFirstPhysics.h:36 AliAnalysisTaskFirstPhysics.h:37 AliAnalysisTaskFirstPhysics.h:38 AliAnalysisTaskFirstPhysics.h:39 AliAnalysisTaskFirstPhysics.h:40 AliAnalysisTaskFirstPhysics.h:41 AliAnalysisTaskFirstPhysics.h:42 AliAnalysisTaskFirstPhysics.h:43 AliAnalysisTaskFirstPhysics.h:44 AliAnalysisTaskFirstPhysics.h:45 AliAnalysisTaskFirstPhysics.h:46 AliAnalysisTaskFirstPhysics.h:47 AliAnalysisTaskFirstPhysics.h:48 AliAnalysisTaskFirstPhysics.h:49 AliAnalysisTaskFirstPhysics.h:50 AliAnalysisTaskFirstPhysics.h:51 AliAnalysisTaskFirstPhysics.h:52 AliAnalysisTaskFirstPhysics.h:53 AliAnalysisTaskFirstPhysics.h:54 AliAnalysisTaskFirstPhysics.h:55 AliAnalysisTaskFirstPhysics.h:56 AliAnalysisTaskFirstPhysics.h:57 AliAnalysisTaskFirstPhysics.h:58 AliAnalysisTaskFirstPhysics.h:59 AliAnalysisTaskFirstPhysics.h:60 AliAnalysisTaskFirstPhysics.h:61 AliAnalysisTaskFirstPhysics.h:62 AliAnalysisTaskFirstPhysics.h:63 AliAnalysisTaskFirstPhysics.h:64 AliAnalysisTaskFirstPhysics.h:65 AliAnalysisTaskFirstPhysics.h:66 AliAnalysisTaskFirstPhysics.h:67 AliAnalysisTaskFirstPhysics.h:68 AliAnalysisTaskFirstPhysics.h:69 AliAnalysisTaskFirstPhysics.h:70 AliAnalysisTaskFirstPhysics.h:71 AliAnalysisTaskFirstPhysics.h:72 AliAnalysisTaskFirstPhysics.h:73 AliAnalysisTaskFirstPhysics.h:74 AliAnalysisTaskFirstPhysics.h:75 AliAnalysisTaskFirstPhysics.h:76 AliAnalysisTaskFirstPhysics.h:77 AliAnalysisTaskFirstPhysics.h:78 AliAnalysisTaskFirstPhysics.h:79 AliAnalysisTaskFirstPhysics.h:80 AliAnalysisTaskFirstPhysics.h:81 AliAnalysisTaskFirstPhysics.h:82 AliAnalysisTaskFirstPhysics.h:83 AliAnalysisTaskFirstPhysics.h:84 AliAnalysisTaskFirstPhysics.h:85 AliAnalysisTaskFirstPhysics.h:86 AliAnalysisTaskFirstPhysics.h:87 AliAnalysisTaskFirstPhysics.h:88 AliAnalysisTaskFirstPhysics.h:89 AliAnalysisTaskFirstPhysics.h:90 AliAnalysisTaskFirstPhysics.h:91