1 #ifndef ALIANAEMCALTRIGGERCLUSTERS_H
2 #define ALIANAEMCALTRIGGERCLUSTERS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //_________________________________________________________________________
8 // Class for study of EMCAL trigger behaviour
10 // -- Author: Gustavo Conesa (CNRS-LPSC-Grenoble)
13 // --- ROOT system ---
20 // --- ANALYSIS system ---
21 #include "AliAnaCaloTrackCorrBaseClass.h"
23 class AliAnaEMCALTriggerClusters : public AliAnaCaloTrackCorrBaseClass {
26 AliAnaEMCALTriggerClusters() ; // default ctor
27 virtual ~AliAnaEMCALTriggerClusters() { ; } // virtual dtor
29 //---------------------------------------
30 // General analysis frame methods
31 //---------------------------------------
33 TObjString * GetAnalysisCuts();
35 TList * GetCreateOutputObjects();
39 void InitParameters();
41 void MakeAnalysisFillHistograms() ;
43 void Print(const Option_t * opt)const;
45 void FillBadTriggerEventHistogram();
47 void FillRawClusterTriggerBCHistograms(Int_t idcalo, Float_t ecluster, Float_t tofcluster,
48 Float_t etacluster, Float_t phicluster);
50 // Analysis parameters setters getters
52 void SetNCellCut(Int_t n) { fNCellsCut = n ; }
53 Double_t GetNCellCut() const { return fNCellsCut ; }
55 void SetM02(Float_t min, Float_t max) { fMinM02 = min; fMaxM02 = max ; }
56 Float_t GetM02Min() const { return fMinM02 ; }
57 Float_t GetM02Max() const { return fMaxM02 ; }
59 Bool_t IsTrackMatchRejectionOn() const { return fRejectTrackMatch ; }
60 void SwitchOnTrackMatchRejection() { fRejectTrackMatch = kTRUE ; }
61 void SwitchOffTrackMatchRejection() { fRejectTrackMatch = kFALSE ; }
65 Bool_t fRejectTrackMatch ; // Reject clusters which have an associated TPC track
66 Int_t fNCellsCut ; // Accept for the analysis clusters with more than fNCellsCut cells
67 Float_t fMinM02 ; // Remove clusters with large M02
68 Float_t fMaxM02 ; // Remove clusters with small M02
70 TLorentzVector fMomentum ; //! Cluster momentum
74 TH1F * fhE ; //! Raw clusters E
75 TH1F * fhESelected ; //! Selected custers E
76 TH2F * fhEtaPhi ; //! Raw Pseudorapidity vs Phi of clusters for E > 0.5
77 TH2F * fhEtaPhiSelected ; //! Pseudorapidity vs Phi of clusters for E > 0.5
78 TH2F * fhEtaPhiEMCALBC0 ; //! Pseudorapidity vs Phi of clusters for E > 0.5
79 TH2F * fhEtaPhiEMCALBC1 ; //! Pseudorapidity vs Phi of clusters for E > 0.5
80 TH2F * fhEtaPhiEMCALBCN ; //! Pseudorapidity vs Phi of clusters for E > 0.5
82 TH2F * fhEtaPhiTriggerEMCALBC[11] ; //! Pseudorapidity vs Phi of clusters for E > 2
83 TH2F * fhTimeTriggerEMCALBC [11] ; //! Time distribution of clusters, when trigger is in a given BC
84 TH2F * fhTimeTriggerEMCALBCPileUpSPD[11]; //! Time distribution of clusters, when trigger is in a given BC, tagged as pile-up SPD
86 TH2F * fhEtaPhiTriggerEMCALBCUM[11] ; //! Pseudorapidity vs Phi of clusters for E > 2, not matched to trigger
87 TH2F * fhTimeTriggerEMCALBCUM [11] ; //! Time distribution of clusters, when trigger is in a given BC, not matched to trigger
89 TH2F * fhEtaPhiTriggerEMCALBCCluster [11] ; //! Pseudorapidity vs Phi of trigger clusters
90 TH2F * fhTimeTriggerEMCALBCCluster ; //! Time distribution of clusters, when trigger cluster is in a given BC
91 TH2F * fhEtaPhiTriggerEMCALBCUMCluster[11] ; //! Pseudorapidity vs Phi of highest E cluster in event, not matched to trigger
92 TH2F * fhTimeTriggerEMCALBCUMCluster ; //! Time distribution of highest energy cluster in event, when trigger is in a given BC, not
94 TH2F * fhEtaPhiTriggerEMCALBCClusterOverTh ; //! Pseudorapidity vs Phi of trigger clusters, over nominal threshold
95 TH2F * fhEtaPhiTriggerEMCALBCUMClusterOverTh ; //! Pseudorapidity vs Phi of highest E cluster in event, not matched to trigger, over nominal threshold
96 TH2F * fhEtaPhiTriggerEMCALBCClusterBelowTh1 ; //! Pseudorapidity vs Phi of trigger clusters, 1 GeV below nominal threshold
97 TH2F * fhEtaPhiTriggerEMCALBCUMClusterBelowTh1 ; //! Pseudorapidity vs Phi of highest E cluster in event, not matched to trigger, 2 GeV below nominal threshold
98 TH2F * fhEtaPhiTriggerEMCALBCClusterBelowTh2 ; //! Pseudorapidity vs Phi of trigger clusters, 1 GeV below nominal threshold
99 TH2F * fhEtaPhiTriggerEMCALBCUMClusterBelowTh2 ; //! Pseudorapidity vs Phi of highest E cluster in event, not matched to trigger, 2 GeV below nominal threshold
101 TH2F * fhEtaPhiTriggerEMCALBCExotic ; //! Pseudorapidity vs Phi of trigger exotic clusters
102 TH2F * fhTimeTriggerEMCALBCExotic ; //! Time distribution of clusters, when trigger exotic cluster
103 TH2F * fhEtaPhiTriggerEMCALBCUMExotic ; //! Pseudorapidity vs Phi of highest E exotic cluster in event, not matched to trigger
104 TH2F * fhTimeTriggerEMCALBCUMExotic ; //! Time distribution of highest energy exotic cluster in event, not matched to trigger
106 TH2F * fhEtaPhiTriggerEMCALBCBad ; //! Pseudorapidity vs Phi of trigger exotic clusters
107 TH2F * fhTimeTriggerEMCALBCBad ; //! Time distribution of clusters, when trigger exotic
108 TH2F * fhEtaPhiTriggerEMCALBCUMBad ; //! Pseudorapidity vs Phi of highest E exotic cluster in event, not matched to trigger
109 TH2F * fhTimeTriggerEMCALBCUMBad ; //! Time distribution of highest energy exotic cluster in event, not matched to trigger
111 TH2F * fhEtaPhiTriggerEMCALBCBadExotic ; //! Pseudorapidity vs Phi of trigger exotic and bad clusters
112 TH2F * fhTimeTriggerEMCALBCBadExotic ; //! Time distribution of clusters, when trigger exotic and bad cluster
113 TH2F * fhEtaPhiTriggerEMCALBCUMBadExotic ; //! Pseudorapidity vs Phi of highest E exotic cluster in event, not matched to trigger
114 TH2F * fhTimeTriggerEMCALBCUMBadExotic ; //! Time distribution of highest energy exotic cluster in event, not matched to trigger
116 TH2F * fhEtaPhiTriggerEMCALBCExoticCluster ; //! Pseudorapidity vs Phi of trigger exotic clusters
117 TH2F * fhTimeTriggerEMCALBCExoticCluster ; //! Time distribution of clusters, when trigger exotic cluster
118 TH2F * fhEtaPhiTriggerEMCALBCUMExoticCluster ; //! Pseudorapidity vs Phi of highest E exotic cluster in event, not matched to trigger
119 TH2F * fhTimeTriggerEMCALBCUMExoticCluster ; //! Time distribution of highest energy exotic cluster in event, not matched to trigger
121 TH2F * fhEtaPhiTriggerEMCALBCBadCluster ; //! Pseudorapidity vs Phi of trigger bad clusters
122 TH2F * fhTimeTriggerEMCALBCBadCluster ; //! Time distribution of clusters, when trigger bad cluster is in a given BC
123 TH2F * fhEtaPhiTriggerEMCALBCUMBadCluster ; //! Pseudorapidity vs Phi of highest E bad cluster in event, not matched to trigger
124 TH2F * fhTimeTriggerEMCALBCUMBadCluster ; //! Time distribution of highest energy bad cluster in event, when trigger is in a given BC, not
126 TH2F * fhEtaPhiTriggerEMCALBCBadExoticCluster ; //! Pseudorapidity vs Phi of trigger exotic and bad clusters
127 TH2F * fhTimeTriggerEMCALBCBadExoticCluster ; //! Time distribution of clusters, when trigger exotic and bad cluster
128 TH2F * fhEtaPhiTriggerEMCALBCUMBadExoticCluster; //! Pseudorapidity vs Phi of highest E exotic and bad cluster in event, not matched to trigger
129 TH2F * fhTimeTriggerEMCALBCUMBadExoticCluster ; //! Time distribution of highest energy exotic and bad cluster in event, not matched to trigger
131 TH2F * fhTimeTriggerEMCALBCBadMaxCell ; //! Time distribution of trigger clusters, when trigger bad max cell
132 TH2F * fhTimeTriggerEMCALBCUMBadMaxCell ; //! Time distribution of highest energy bad max cell cluster in event, when trigger is not found
133 TH2F * fhTimeTriggerEMCALBCBadMaxCellExotic ; //! Time distribution of trigger clusters, when trigger exotic cluster with bad max cell
134 TH2F * fhTimeTriggerEMCALBCUMBadMaxCellExotic ; //! Time distribution of highest energy exotic with bad max cell cluster in event, when trigger is not found
136 TH2F * fhEtaPhiTriggerEMCALBCUMReMatchOpenTimeCluster ; //! Pseudorapidity vs Phi of highest E bad cluster in event, not matched to trigger, rematched open time trigger
137 TH2F * fhTimeTriggerEMCALBCUMReMatchOpenTimeCluster ; //! Time distribution of highest energy bad max cell cluster in event, when trigger is not found, rematched open time trigger
138 TH2F * fhEtaPhiTriggerEMCALBCUMReMatchCheckNeighCluster; //! Pseudorapidity vs Phi of highest E bad cluster in event, not matched to trigger, rematched with neigbour patchs
139 TH2F * fhTimeTriggerEMCALBCUMReMatchCheckNeighCluster ; //! Time distribution of highest energy bad max cell cluster in event, when trigger is not found, rematched with neigbour patchs
140 TH2F * fhEtaPhiTriggerEMCALBCUMReMatchBothCluster; //! Pseudorapidity vs Phi of highest E bad cluster in event, not matched to trigger, rematched open both
141 TH2F * fhTimeTriggerEMCALBCUMReMatchBothCluster ; //! Time distribution of highest energy bad max cell cluster in event, when trigger is not found, rematched open both
143 TH2F * fhTimeTriggerEMCALBC0UMReMatchOpenTime ; //! Time distribution of clusters, not matched to trigger, rematched open time trigger
144 TH2F * fhTimeTriggerEMCALBC0UMReMatchCheckNeigh ; //! Time distribution of clusters, not matched to trigger, rematched with neighbour patchs
145 TH2F * fhTimeTriggerEMCALBC0UMReMatchBoth ; //! Time distribution of clusters, not matched to trigger, rematched open both
147 TH2F * fhEtaPhiNoTrigger ; //! Pseudorapidity vs Phi of highest E exotic cluster in event, no trigger at all
148 TH2F * fhTimeNoTrigger ; //! Time distribution of highest energy exotic cluster in event, no trigger at all
150 TH2F * fhEtaPhiSelectedEMCALBC0 ; //! Pseudorapidity vs Phi of identified photon for E > 0.5
151 TH2F * fhEtaPhiSelectedEMCALBC1 ; //! Pseudorapidity vs Phi of identified photon for E > 0.5
152 TH2F * fhEtaPhiSelectedEMCALBCN ; //! Pseudorapidity vs Phi of identified photon for E > 0.5
153 TH2F * fhEtaPhiSelectedTriggerEMCALBC[11]; //! Pseudorapidity vs Phi of photons for E > 0.5
154 TH2F * fhTimeSelectedTriggerEMCALBC [11]; //! Time distribution of photons, when trigger is in a given BC
155 TH2F * fhTimeSelectedTriggerEMCALBCPileUpSPD[11] ; //! Time distribution of photons, when trigger is in a given BC, tagged as pile-up SPD
156 TH2F * fhEtaPhiSelectedTriggerEMCALBCUM[11]; //! Pseudorapidity vs Phi of photons for E > 2, not matched to trigger
157 TH2F * fhTimeSelectedTriggerEMCALBCUM [11]; //! Time distribution of photons, when trigger is in a given BC, not matched to trigger
159 TH2F * fhTimeSelectedTriggerEMCALBC0UMReMatchOpenTime ; //! Time distribution of photons in event, when trigger is not found, rematched open time trigger
160 TH2F * fhTimeSelectedTriggerEMCALBC0UMReMatchCheckNeigh ; //! Time distribution of photons in event, when trigger is not found, rematched with neigbour patchs
161 TH2F * fhTimeSelectedTriggerEMCALBC0UMReMatchBoth ; //! Time distribution of photons in event, when trigger is not found, rematched open both
163 AliAnaEMCALTriggerClusters( const AliAnaEMCALTriggerClusters & g) ; // cpy ctor
164 AliAnaEMCALTriggerClusters & operator = (const AliAnaEMCALTriggerClusters & g) ; // cpy assignment
166 ClassDef(AliAnaEMCALTriggerClusters,2)
170 #endif//ALIANAEMCALTRIGGERCLUSTERS_H