AliPhysics  41af4b0 (41af4b0)
AliAnalysisTaskClusterQA.h
Go to the documentation of this file.
1 #ifndef AliAnalysisClusterQA_cxx
2 #define AliAnalysisClusterQA_cxx
3 
4 #include "AliAnalysisTaskSE.h"
6 #include "TH1.h"
7 #include "TH2.h"
8 #include "TTreeStream.h"
9 #include "AliLog.h"
10 #include <vector>
11 #include "AliV0ReaderV1.h"
12 #include "AliCaloPhotonCuts.h"
13 #include "AliConvEventCuts.h"
15 #include "AliConversionMesonCuts.h"
16 #include "TList.h"
17 #include "AliMCEvent.h"
18 #include "TClonesArray.h"
19 
20 
21 using namespace std;
22 
23 
25 
26  public:
27 
29  AliAnalysisTaskClusterQA(const char *name);
30  virtual ~AliAnalysisTaskClusterQA();
31 
32  virtual void UserCreateOutputObjects ();
33  virtual Bool_t Notify ();
34  virtual void UserExec ( Option_t *option );
35  virtual void Terminate ( Option_t * );
36 
37  void SetV0Reader ( AliV0ReaderV1 *v0Reader ) { fV0Reader=v0Reader ; }
38  void SetV0ReaderName(TString name){fV0ReaderName=name; return;}
39  void SetEventCuts ( AliConvEventCuts* conversionCuts,
40  Bool_t IsHeavyIon ) {
41  fEventCuts=conversionCuts ;
42  fIsHeavyIon = IsHeavyIon ;
43  }
44  void SetClusterCutsEMC ( AliCaloPhotonCuts* clusterCuts,
45  Bool_t IsHeavyIon ) {
46  fClusterCutsEMC=clusterCuts ;
47  fIsHeavyIon = IsHeavyIon ;
48  }
49  void SetClusterCutsDMC ( AliCaloPhotonCuts* clusterCuts,
50  Bool_t IsHeavyIon ) {
51  fClusterCutsDMC=clusterCuts ;
52  fIsHeavyIon = IsHeavyIon ;
53  }
55  Bool_t IsHeavyIon ) {
56  fMesonCuts=mesonCuts ;
57  fIsHeavyIon = IsHeavyIon ;
58  }
59 
60  void FillType ( Double_t fillTree,
61  Bool_t fillHistorams) {
62  ffillTree = fillTree ;
63  ffillHistograms = fillHistorams ;
64  }
65  void SetIsMC ( Bool_t isMC ) { fIsMC = isMC ; }
66  void SetSaveEventProperties ( Bool_t val ) { fSaveEventProperties = val ; }
67  void SetSaveClusterCells ( Bool_t val ) { fSaveCells = val ; }
68  void SetSaveSurroundingCells ( Bool_t val ) { fSaveSurroundingCells = val ; }
69  void SetSaveSurroundingTracks ( Bool_t val ) { fSaveTracks = val ; }
70  void SetMaxConeRadius ( Float_t val ) { fConeRadius = val ; }
71  void SetMinTrackPt ( Float_t val ) { fMinTrackPt = val ; }
72  void SetMinClusterEnergy ( Float_t val ) { fMinClusterEnergy = val ; }
73  void SetMinMaxNLMCut ( Int_t valmin, Int_t valmax ) { fMinNLMCut = valmin ;
74  fMaxNLMCut = valmax ; }
75  void SetSaveMCInformation ( Bool_t val ) { fSaveMCInformation = val ; }
76  // Function to set correction task setting
77  void SetCorrectionTaskSetting(TString setting) {fCorrTaskSetting = setting;}
78  Int_t FindLargestCellInCluster(AliVCluster* cluster, AliVEvent* event);
79  void GetRowAndColumnFromAbsCellID(Int_t cellIndex, Int_t& row, Int_t& column);
80  Int_t MakePhotonCandidates(AliVCluster* clus, AliVCaloCells* cells, Long_t indexCluster);
81  void ProcessTracksAndMatching(AliVCluster* clus, Long_t indexCluster);
82  Int_t GetMCClusterFlag(AliVCluster* clus, AliVCaloCells* cells);
83  private:
84 
85  AliAnalysisTaskClusterQA ( const AliAnalysisTaskClusterQA& ); // Prevent copy-construction
86  AliAnalysisTaskClusterQA &operator=( const AliAnalysisTaskClusterQA& ); // Prevent assignment
87 
88  void ProcessQATreeCluster ( AliVEvent *event, AliVCluster* cluster, Long_t indexCluster);
89  void ProcessQA ( AliAODConversionPhoton *gamma );
90  void RelabelAODPhotonCandidates ( Bool_t mode );
91  void ProcessTrueQAESD ( AliAODConversionPhoton *TruePhotonCandidate,
92  AliESDtrack *elec,
93  AliESDtrack *posi );
94  void ProcessTrueQAAOD ( AliAODConversionPhoton *TruePhotonCandidate,
95  AliAODTrack *elec,
96  AliAODTrack *posi );
97  Int_t ProcessTrueClusterCandidates(AliAODConversionPhoton *TrueClusterCandidate, Float_t m02,
98  AliAODConversionPhoton *TrueSubClusterCandidate1,
99  AliAODConversionPhoton *TrueSubClusterCandidate2);
100  UInt_t IsTruePhotonESD ( AliAODConversionPhoton *TruePhotonCandidate );
101  UInt_t IsTruePhotonAOD ( AliAODConversionPhoton *TruePhotonCandidate );
102  void CountTracks ();
103  void SetLogBinningXTH2 ( TH2* histoRebin );
104 
105  protected:
109  AliConversionPhotonCuts* fConversionCuts; // Cuts used by the V0Reader
110  AliConvEventCuts* fEventCuts; // Cuts used by the V0Reader
111  AliCaloPhotonCuts* fClusterCutsEMC; // Cuts used by the V0Reader
112  AliCaloPhotonCuts* fClusterCutsDMC; // Cuts used by the V0Reader
113  AliConversionMesonCuts* fMesonCuts; // Cuts used by the V0Reader
116  AliVEvent* fInputEvent; //
117  AliMCEvent* fMCEvent; //
118  Double_t fWeightJetJetMC; // weight for Jet-Jet MC
119  AliEMCALGeometry* fGeomEMCAL; // pointer to EMCAL geometry
127 
128  // Save flags
137 
138  // Option flags
139  std::vector<Float_t> fExtractionPercentages;
140  std::vector<Float_t> fExtractionPercentagePtBins;
141 
142  // Buffers that will be added to the tree
155 
161 
166 
178 
180 
181 
182  ClassDef(AliAnalysisTaskClusterQA, 3);
183 };
184 
185 const Int_t kMaxActiveCells = 500;
186 const Int_t kMaxNTracks = 50;
187 
188 #endif
189 
Int_t fBuffer_Surrounding_NTracks
! array buffer
double Double_t
Definition: External.C:58
Float_t fBuffer_ClusterPhi
! array buffer
Float_t fBuffer_Event_Vertex_Y
! array buffer
void SetV0Reader(AliV0ReaderV1 *v0Reader)
Bool_t fSaveMCInformation
save MC information
void SetSaveSurroundingTracks(Bool_t val)
const Int_t kMaxNTracks
Float_t fBuffer_ClusterE
! array buffer
Float_t * fBuffer_Cells_RelativeEta
! array buffer
Bool_t fSaveEventProperties
save general event properties (centrality etc.)
Float_t fConeRadius
save arrays of all cells in event
void FillType(Double_t fillTree, Bool_t fillHistorams)
Float_t * fBuffer_Surrounding_Tracks_R
! array buffer
Float_t fBuffer_Event_Vertex_Z
! array buffer
void SetClusterCutsDMC(AliCaloPhotonCuts *clusterCuts, Bool_t IsHeavyIon)
Bool_t fBuffer_ClusterIsEMCAL
! array buffer
Float_t fBuffer_Event_Vertex_X
! array buffer
Int_t fBuffer_LeadingCell_ID
! array buffer
Float_t fBuffer_Event_Multiplicity
! array buffer
void SetMesonCuts(AliConversionMesonCuts *mesonCuts, Bool_t IsHeavyIon)
Int_t * fBuffer_Surrounding_Cells_ID
! array buffer
Float_t * fBuffer_Surrounding_Cells_E
! array buffer
Float_t fBuffer_LeadingCell_Phi
! array buffer
int Int_t
Definition: External.C:63
Float_t * fBuffer_Surrounding_Cells_R
! array buffer
Class handling all kinds of selection cuts for Gamma Calo analysis.
Float_t * fBuffer_Cells_RelativePhi
! array buffer
Float_t * fBuffer_Surrounding_Tracks_RelativeEta
! array buffer
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
Float_t * fBuffer_Surrounding_Tracks_Pt
! array buffer
Int_t fBuffer_Cluster_MC_Label
! array buffer
std::vector< Float_t > fExtractionPercentages
Percentages which will be extracted for a given pT bin.
Bool_t fSaveSurroundingCells
save arrays of all cells in event
Class handling all kinds of selection cuts for Gamma Conversion analysis.
Float_t fBuffer_ClusterM20
! array buffer
void SetClusterCutsEMC(AliCaloPhotonCuts *clusterCuts, Bool_t IsHeavyIon)
Float_t fMinClusterEnergy
save arrays of all cells in event
Int_t mode
Definition: anaM.C:41
Int_t * fBuffer_Cells_ID
! array buffer
Int_t fMaxNLMCut
save MC information
Float_t fBuffer_ClusterM02
! array buffer
void SetMinMaxNLMCut(Int_t valmin, Int_t valmax)
Int_t fBuffer_Event_NumActiveCells
! array buffer
Float_t fBuffer_ClusterEta
! array buffer
AliConversionPhotonCuts * fConversionCuts
Bool_t isMC
Bool_t fSaveCells
save arrays of cluster cells
Definition: External.C:220
Float_t * fBuffer_Surrounding_Cells_RelativePhi
! array buffer
Class handling all kinds of selection cuts for Gamma Conversion analysis.
Int_t fBuffer_ClusterNumCells
! array buffer
void SetEventCuts(AliConvEventCuts *conversionCuts, Bool_t IsHeavyIon)
Float_t fBuffer_LeadingCell_Eta
! array buffer
const Int_t kMaxActiveCells
void SetSaveSurroundingCells(Bool_t val)
Class handling all kinds of selection cuts for Gamma Conversion analysis.
Int_t fBuffer_MC_Cluster_Flag
! array buffer
Float_t * fBuffer_Surrounding_Cells_RelativeEta
! array buffer
AliConversionMesonCuts * fMesonCuts
Float_t fBuffer_LeadingCell_E
! array buffer
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
Float_t * fBuffer_Surrounding_Tracks_RelativePhi
! array buffer
Float_t * fBuffer_Cells_E
! array buffer
Int_t fMinNLMCut
save MC information
void SetCorrectionTaskSetting(TString setting)
Int_t fBuffer_Surrounding_NCells
! array buffer
Bool_t fSaveTracks
save arrays of all cells in event
std::vector< Float_t > fExtractionPercentagePtBins
pT-bins associated with fExtractionPercentages
Float_t fMinTrackPt
save arrays of all cells in event