]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliAnalysisTaskUE.h
bugfix: correctly handle steering events in order to avoid warning 'Data source compo...
[u/mrichter/AliRoot.git] / PWG4 / AliAnalysisTaskUE.h
CommitLineData
e989c76a 1#ifndef ALIANALYSISTASKUE_H
2#define ALIANALYSISTASKUE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7#include "AliAnalysisTaskSE.h"
8
9class AliESDEvent;
10class AliAODEvent;
11class TH1F;
12class TH2F;
13class TH1I;
14class TVector3;
15
16class AliAnalysisTaskUE : public AliAnalysisTask
17{
18 public:
19 AliAnalysisTaskUE(const char* name="AliAnalysisTaskUE");
20 virtual ~AliAnalysisTaskUE() {;}
21
22 // Implementation of interface methods
23 virtual void ConnectInputData(Option_t *);
24 virtual void CreateOutputObjects();
25 virtual void Exec(Option_t *option);
26 virtual void Terminate(Option_t *);
27
28 // Setters
29 virtual void SetDebugLevel(Int_t level) { fDebug = level; }
30 void SetPtRangeInHist(Int_t bin, Double_t min, Double_t max) {
31 fBinsPtInHist = bin;
32 fMinJetPtInHist = min;
33 fMaxJetPtInHist = max;
34 }
35
36 void SetAnaTopology(Int_t val) { fAnaType = val; }
37 void SetRegionType(Int_t val) { fRegionType = val; }
38 void SetConeRadius(Double_t val) { fConeRadius = val; }
39 void SetPtSumOrdering(Int_t val) { fOrdering = val; }
40 // Jet cuts
41 void SetJet1EtaCut(Double_t val) { fJet1EtaCut = val; }
42 void SetJet2DeltaPhiCut(Double_t val) { fJet2DeltaPhiCut = val; }
43 void SetJet2RatioPtCut(Double_t val) { fJet2RatioPtCut = val; }
44 void SetJet3PtCut(Double_t val) { fJet3PtCut = val; }
45 // track cuts
46 void SetTrackPtCut(Double_t val) { fTrackPtCut = val; }
47 void SetTrackEtaCut(Double_t val) { fTrackEtaCut = val; }
48
49private:
50 AliAnalysisTaskUE(const AliAnalysisTaskUE &det);
51AliAnalysisTaskUE& operator=(const AliAnalysisTaskUE &det);
52
53 void AnalyseUE();
54 Int_t IsTrackInsideRegion(TVector3 *jetVect, TVector3 *partVect);
55 void CreateHistos();
56 void FillSumPtRegion( Double_t leadingE, Double_t ptMax, Double_t ptMin );
57 void FillAvePartPtRegion( Double_t leadingE, Double_t ptMax, Double_t ptMin );
58 void FillMultRegion( Double_t leadingE, Double_t nTrackPtmax, Double_t nTrackPtmin, Double_t ptMin );
59
60
61 Int_t fDebug; // Debug flag
62 AliAODEvent* fAOD; //! AOD Event
63 TList* fListOfHistos; // Output list of histograms
64
65 // Config
66 Int_t fBinsPtInHist; // # bins for Pt histos range
67 Double_t fMinJetPtInHist; // min Jet Pt value for histo range
68 Double_t fMaxJetPtInHist; // max Jet Pt value for histo range
69
70 // Cuts
71 Int_t fAnaType; // Analysis type on jet topology:
72 // 1=inclusive (default)
73 // 2=back to back inclusive
74 // 3=back to back exclusive
75 // 4=gama jet (back to back) ???
76 // Minimum bias
77 // 31 = Semi jet (charged leading particle jets)
78 // 32 = Random jetcone ?
79 // 33 = Swiss chees ?
80
81 Int_t fRegionType; // 1 = transverse regions (default)
82 // 2 = cone regions
83
84 Double_t fConeRadius; // if selected Cone-like region type set Radius (=0.7 default)
85
86 Int_t fOrdering; // Pt and multiplicity summation ordering:
87 // 1=CDF-like -independent sorting according quantity to be scored: Double sorting- (default)
88 // if Pt summation will be scored take Pt minimum between both zones and
89 // fill Pt Max. and Min. histog. accordingly
90 // if Multiplicity summation will be scored take Mult. minimum between both zones and
91 // fill Mult Max and Min histog. accordingly
92 // 2=Marchesini-like (Only Pt sorting: Single sorting)
93 // sort only according Pt summation scored, find minimum between both zones and
94 // fill Pt and Multiplicity Max and Min summation histog. following only this criterium
95 // 3=User Selection sorting (NOTE: USER must implement it within cxx)
96
97 // Jet cuts
98 Double_t fJet1EtaCut; // |jet1 eta| < fJet1EtaCut (fAnaType = 1,2,3)
99 Double_t fJet2DeltaPhiCut; // |Jet1.Phi - Jet2.Phi| < fJet2DeltaPhiCut (fAnaType = 2,3)
100 Double_t fJet2RatioPtCut; // Jet2.Pt/Jet1Pt > fJet2RatioPtCut (fAnaType = 2,3)
101 Double_t fJet3PtCut; // Jet3.Pt < fJet3PtCut (fAnaType = 3)
102 // track cuts
103 Double_t fTrackPtCut; // Pt cut of tracks in the regions
104 Double_t fTrackEtaCut; // Eta cut on tracks in the regions (fRegionType=1)
105
106 // Histograms ( are owner by fListOfHistos TList )
107 TH1F* fhNJets; //!
108 TH1F* fhEleadingPt; //!
109
110 TH1F* fhMinRegPtDist;
111 TH1F* fhRegionMultMin;
112 TH1F* fhMinRegAvePt;
113 TH1F* fhMinRegSumPt;
114 TH1F* fhMinRegMaxPtPart;
115 TH1F* fhMinRegSumPtvsMult;
116
117 TH1F* fhdNdEta_PhiDist; //!
118 TH2F* fhFullRegPartPtDistVsEt; //!
119 TH2F* fhTransRegPartPtDistVsEt; //!
120
121 TH1F* fhRegionSumPtMaxVsEt; //!
122 TH1I* fhRegionMultMax; //!
123 TH1F* fhRegionMultMaxVsEt; //!
124 TH1F* fhRegionSumPtMinVsEt; //!
125 TH1F* fhRegionMultMinVsEt; //!
126 TH1F* fhRegionAveSumPtVsEt; //!
127 TH1F* fhRegionDiffSumPtVsEt; //!
128
129 TH1F* fhRegionAvePartPtMaxVsEt; //!
130 TH1F* fhRegionAvePartPtMinVsEt; //!
131 TH1F* fhRegionMaxPartPtMaxVsEt; //!
132
133 // TH2F* fhValidRegion; //! test to be canceled
134
cfff6259 135 ClassDef( AliAnalysisTaskUE, 1) // Analysis task for Underlying Event analysis
e989c76a 136};
137
138#endif