]>
Commit | Line | Data |
---|---|---|
bc41680b | 1 | #ifndef ALIANACLUSTERPILEUP_H |
2 | #define ALIANACLUSTERPILEUP_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //_________________________________________________________________________ | |
7 | // | |
8 | // Class for the study of Pile-up effect on | |
9 | // Calorimeter clusters. | |
10 | // Open time cuts in reader. | |
11 | // | |
12 | //-- Author: Gustavo Conesa (CNRS-LPSC-Grenoble) | |
13 | ||
14 | // --- ROOT system --- | |
15 | class TH2F ; | |
16 | class TH1F; | |
17 | class TString ; | |
18 | class TObjString; | |
19 | class TList ; | |
20 | ||
21 | // --- ANALYSIS system --- | |
22 | #include "AliAnaCaloTrackCorrBaseClass.h" | |
23 | ||
24 | class AliAnaClusterPileUp : public AliAnaCaloTrackCorrBaseClass { | |
25 | ||
26 | public: | |
27 | AliAnaClusterPileUp() ; // default ctor | |
28 | virtual ~AliAnaClusterPileUp() { ; } // virtual dtor | |
29 | ||
30 | //--------------------------------------- | |
31 | // General analysis frame methods | |
32 | //--------------------------------------- | |
33 | ||
34 | TObjString * GetAnalysisCuts(); | |
35 | ||
36 | TList * GetCreateOutputObjects(); | |
37 | ||
38 | void Init(); | |
39 | ||
40 | void InitParameters(); | |
41 | ||
42 | void MakeAnalysisFillHistograms() ; | |
43 | ||
44 | void Print(const Option_t * opt)const; | |
45 | ||
46 | // Analysis parameters setters getters | |
47 | ||
48 | TString GetCalorimeter() const { return fCalorimeter ; } | |
49 | void SetCalorimeter(TString & det) { fCalorimeter = det ; } | |
50 | ||
51 | void SetNCellCut(Int_t n) { fNCellsCut = n ; } | |
52 | Double_t GetNCellCut() const { return fNCellsCut ; } | |
53 | ||
54 | private: | |
55 | ||
56 | TString fCalorimeter ; // Calorimeter of the cluster; | |
57 | Int_t fNCellsCut ; // Accept for the analysis clusters with more than fNCellsCut cells | |
58 | ||
59 | //Histograms | |
60 | ||
61 | TH1F * fhPtPileUp[7]; //! pT distribution of clusters before any selection | |
62 | TH1F * fhPtNeutralPileUp[7]; //! pT distribution of track matched clusters | |
bc41680b | 63 | TH2F * fhLambda0PileUp[7]; //! E vs M02 distribution of clusters, before any selection |
64 | TH2F * fhLambda0NeutralPileUp[7]; //! E vs M02 distribution of clusters, track matched clusters | |
65 | TH2F * fhClusterCellTimePileUp[7]; //! E vs Time inside cluster, before any selection, not max cell | |
66 | TH2F * fhClusterTimeDiffPileUp[7]; //! E vs Time difference inside cluster, before any selection | |
67 | TH2F * fhClusterTimeDiffNeutralPileUp[7]; //! E vs Time difference inside cluster for track matched clusters | |
68 | TH2F * fhClusterEFracLongTimePileUp[7]; //! E vs fraction of cluster energy from cells with large time | |
69 | TH2F * fhTimePtNoCut; //! time of cluster vs Pt, no cut | |
70 | TH2F * fhTimePtSPD; //! time of cluster vs Pt, IsSPDPileUp | |
71 | TH2F * fhTimeNPileUpVertSPD; //! time of cluster vs n pile-up vertices from SPD | |
72 | TH2F * fhTimeNPileUpVertTrack; //! time of cluster vs n pile-up vertices from Tracks | |
73 | TH2F * fhTimeNPileUpVertContributors; //! time of cluster vs n pile-up vertex from SPD contributors | |
74 | TH2F * fhTimePileUpMainVertexZDistance; //! time of cluster vs difference of z main vertex and pile-up vertex | |
75 | TH2F * fhTimePileUpMainVertexZDiamond; //! time of cluster vs difference of z diamond and pile-up vertex | |
76 | TH2F * fhClusterMultSPDPileUp[4]; //! E max cluster vs event cluster multiplicity, for tmax-tdiff cuts, pile up event | |
77 | TH2F * fhClusterMultNoPileUp[4]; //! E max cluster vs event cluster multiplicity, for tmax-tdiff cuts, not pile up event | |
78 | TH2F * fhEtaPhiBC0; //! eta/phi of clusters in BC=0 | |
79 | TH2F * fhEtaPhiBCPlus; //! eta/phi of clusters in BC>0 | |
80 | TH2F * fhEtaPhiBCMinus; //! eta/phi of clusters in BC<0 | |
81 | TH2F * fhEtaPhiBC0PileUpSPD; //! eta/phi of clusters in BC=0, SPD pile-up | |
82 | TH2F * fhEtaPhiBCPlusPileUpSPD; //! eta/phi of clusters in BC>0, SPD pile-up | |
83 | TH2F * fhEtaPhiBCMinusPileUpSPD; //! eta/phi of clusters in BC<0, SPD pile-up | |
84 | ||
85 | TH2F * fhPtNPileUpSPDVtx; //! cluster pt vs number of spd pile-up vertices | |
86 | TH2F * fhPtNPileUpTrkVtx; //! cluster pt vs number of track pile-up vertices | |
87 | TH2F * fhPtNPileUpSPDVtxTimeCut; //! cluster pt vs number of spd pile-up vertices, time cut +-25 ns | |
88 | TH2F * fhPtNPileUpTrkVtxTimeCut; //! cluster pt vs number of track pile-up vertices, time cut +- 25 ns | |
89 | TH2F * fhPtNPileUpSPDVtxTimeCut2; //! cluster pt vs number of spd pile-up vertices, time cut +-75 ns | |
90 | TH2F * fhPtNPileUpTrkVtxTimeCut2; //! cluster pt vs number of track pile-up vertices, time cut +- 75 ns | |
91 | ||
92 | AliAnaClusterPileUp( const AliAnaClusterPileUp & pu) ; // cpy ctor | |
93 | AliAnaClusterPileUp & operator = (const AliAnaClusterPileUp & pu) ; // cpy assignment | |
94 | ||
95 | ClassDef(AliAnaClusterPileUp,1) | |
96 | ||
97 | } ; | |
98 | ||
99 | #endif//ALIANACLUSTERPILEUP_H | |
100 | ||
101 | ||
102 |