1 #ifndef AliAnalysisTaskHardSoft_cxx
2 #define AliAnalysisTaskHardSoft_cxx
13 class AliESDtrackCuts;
16 #include "AliAnalysisTaskSE.h"
20 class AliAnalysisTaskHardSoft : public AliAnalysisTaskSE {
22 AliAnalysisTaskHardSoft(const char *name = "AliAnalysisTaskHardSoft");
23 virtual ~AliAnalysisTaskHardSoft() {}
25 virtual void UserCreateOutputObjects();
26 virtual void UserExec(Option_t *option);
27 virtual void Terminate(Option_t *);
29 virtual void SetUseMc(Bool_t useMc) {fUseMc = useMc;}
30 virtual void SetUseNeutralMC(Bool_t useNeutral) {fUseNeutral = useNeutral;}
32 virtual void SetRadiusCut(Float_t radiusCut) {fRadiusCut = radiusCut;}
33 virtual void SetTriggerPtCut(Float_t triggerPtCut) {fTriggerPtCut = triggerPtCut;}
34 virtual void SetAssociatePtCut(Float_t associatePtCut) {fAssociatePtCut = associatePtCut;}
36 virtual void SetMap(TH2F* map) {fMap = map;}
37 virtual void SetMapLeading(TH2F* mapLeading) {fMapLeading = mapLeading;}
40 virtual void SetCuts(AliESDtrackCuts* cuts)
43 virtual void SetFieldOn(Bool_t b = kTRUE){fFieldOn = b;}
48 Bool_t fUseMc; // for simulated data: calculate the same for MCpartciles aswell
49 Bool_t fUseNeutral; // use also neutral particle in MC case
50 Float_t fRadiusCut; // radius cut for hard/soft event determination (CDF approach)
51 Float_t fTriggerPtCut; // first pt cut for hard/soft event determination (CDF approach)
52 Float_t fAssociatePtCut; // first pt cut for hard/soft event determination (CDF approach)
54 TH2F * fMap; // map for eta-phi acceptance (used for random particles)
55 TH2F * fMapLeading; // map for eta-phi acceptance (used for random particles)
57 AliESDtrackCuts* fCuts; // List of cuts for ESDs
61 TList * fHists; // List of histos
63 //properties of particles(0)/esdtracks(1)
65 TH1F * fEta[2]; // eta
66 TH1F * fPhi[2]; // phi
67 TH2F * fEtaPhi[2]; // eta-phi (needed as input for random position -> will be fMap)
68 TH2F * fEtaPhiLeading[2]; // eta-phi (needed as input for random position -> will be fMapLeading)
69 TH1F * fNch[2]; // all accepted tracks/particles
70 TH1F * fPtLeading[2]; // pt of leading track/particle
72 TProfile * fPtLeadingNch[2]; // pt of leading track/particle vs Nch
73 TProfile * fPtSumNch[2]; // pt sum track/particle vs Nch
74 TProfile * fPtAvNch[2]; // average pt track/particle vs Nch
76 TH1F * fDPhiLeading[2]; // delta phi of associate tracks to leading track
77 TH1F * fRadiusLeading[2]; // radius of associate tracks to leading track
79 TH1F * fDPhiLeadingR[2]; // delta phi of associate tracks to leading track for random pos.
80 TH1F * fRadiusLeadingR[2]; // radius of associate tracks to leading track for random pos.
82 TH1F * fDPhiLeadingRS[2]; // delta phi of associate tracks to leading track for random seed pos.
83 TH1F * fRadiusLeadingRS[2]; // radius of associate tracks to leading track for random seed pos
85 TProfile * fNchAssInR[2]; // number of tracks within R around leading track vs Nch
86 TH1F * fTrigger[2]; // number of triggers with at accepted-track number
88 //per Nch bin of all accepted tracks
89 TH1F * fDPhiLeadingNchBin[2][100]; // delta phi of associate tracks to leading track per Nch bin
91 TH1F * fNchHardSoft[2][2]; // Nch for hard and soft events (classified with CDF algorithm)
92 TH1F * fPtHardSoft[2][2]; // Pt for hard and soft events (classified with CDF algorithm)
93 TProfile * fPtAvHardSoftNch[2][2]; // <Pt> for hard and soft events (classified with CDF algorithm)
96 AliAnalysisTaskHardSoft(const AliAnalysisTaskHardSoft&); // not implemented
97 AliAnalysisTaskHardSoft& operator=(const AliAnalysisTaskHardSoft&); // not implemented
99 ClassDef(AliAnalysisTaskHardSoft, 1); // Hard and Soft event characteristics