]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaInsideClusterInvariantMass.h
Add cluster disitribution histograms as a function of eta/phi and depending on V0...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaInsideClusterInvariantMass.h
CommitLineData
992b14a7 1#ifndef ALIANAINSIDECLUSTERINVARIANTMASS_H
2#define ALIANAINSIDECLUSTERINVARIANTMASS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5/* $Id: AliAnaInsideClusterInvariantMass.h 27413 2008-07-18 13:28:12Z gconesab $ */
6
7//_________________________________________________________________________
8//
9// Split clusters with some criteria and calculate invariant mass
10// to identify them as pi0 or conversion
11//
12//
13//-- Author: Gustavo Conesa (LPSC-Grenoble)
14//_________________________________________________________________________
15
16
17// --- ROOT system ---
18class TList ;
19class TObjString;
20class TLorentzVector;
21
22// --- ANALYSIS system ---
23#include "AliAnaPartCorrBaseClass.h"
24
25class AliAnaInsideClusterInvariantMass : public AliAnaPartCorrBaseClass {
26
27 public:
28 AliAnaInsideClusterInvariantMass() ; // default ctor
29 virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor
992b14a7 30
992b14a7 31 Bool_t AreNeighbours(const Int_t absId1, const Int_t absId2) const ;
32
33 TObjString * GetAnalysisCuts();
34
35 TList * GetCreateOutputObjects();
36
37 TLorentzVector GetCellMomentum(const Int_t absId, AliVCaloCells* cells);
38
39 Int_t GetNumberOfLocalMaxima(AliVCluster* cluster, AliVCaloCells* cells,
40 Int_t *absIdList, Float_t *maxEList) ;
41
42 void Init();
43
44 void InitParameters();
45
46 void MakeAnalysisFillHistograms() ;
47
48 void RecalibrateCellAmplitude(Float_t & amp, const Int_t absId);
49
50 void SetCalorimeter(TString & det) { fCalorimeter = det ; }
51
52 void SetM02Cut(Float_t cut) { fM02Cut = cut ; }
53
54 void SetMinNCells(Float_t cut) { fMinNCells = cut ; }
55
c5693f62 56 void SplitEnergy(const Int_t absId1, const Int_t absId2, const AliVCaloCells* cells,
992b14a7 57 Float_t & e1, Float_t & e2 );
58
59 void Print(const Option_t * opt) const;
60
61 //For histograms
c5693f62 62 enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0 = 3,
63 kmcEta = 4, kmcElectron = 5, kmcHadron = 6 };
992b14a7 64
65 private:
66
67 TString fCalorimeter ; // Calorimeter where the gamma is searched
68 Float_t fM02Cut ; // Study clusters with l0 larger than cut
69 Float_t fMinNCells ; // Study clusters with ncells larger than cut
70
71 //Histograms
72
73 TH2F * fhMassNLocMax1[7] ; //! Mass of 2 highest energy cells when 1 local max, 1-6 for different MC particle types
74 TH2F * fhMassNLocMax2[7] ; //! Mass of 2 cells local maxima vs E, 1-6 for different MC particle types
75 TH2F * fhMassNLocMaxN[7] ; //! Mass of >2 cells local maxima vs E, 1-6 for different MC particle types
76
77 TH2F * fhNLocMax[7] ; //! Number of maxima in cluster vs E, 1-6 for different MC particle types
78 TH2F * fhNLocMaxM02Cut[7]; //! Number of maxima in cluster vs E, 1-6 for different MC particle types, after SS cut
79
80 TH2F * fhM02NLocMax1[7] ; //! M02 vs E for N max in cluster = 1, 1-6 for different MC particle types
81 TH2F * fhM02NLocMax2[7] ; //! M02 vs E for N max in cluster = 2, 1-6 for different MC particle types
82 TH2F * fhM02NLocMaxN[7] ; //! M02 vs E for N max in cluster > 2, 1-6 for different MC particle types
83
84 TH2F * fhNCellNLocMax1[7] ; //! n cells in cluster vs E for N max in cluster = 1, 1-6 for different MC particle types
85 TH2F * fhNCellNLocMax2[7] ; //! n cells in cluster vs E for N max in cluster = 2, 1-6 for different MC particle types
86 TH2F * fhNCellNLocMaxN[7] ; //! n cells in cluster vs E for N max in cluster > 2, 1-6 for different MC particle types
87
88 TH2F * fhM02Pi0[7] ; //! M02 for Mass around pi0
89 TH2F * fhM02Eta[7] ; //! M02 for Mass around eta
90 TH2F * fhM02Con[7] ; //! M02 for Mass around close to 0
91
92 TH2F * fhInvMassAllCells[7] ; //! Inv mass of all cells
93
c5693f62 94 AliAnaInsideClusterInvariantMass(const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor
95 AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ;//cpy assignment
992b14a7 96
97 ClassDef(AliAnaInsideClusterInvariantMass,1)
98
99} ;
100
101#endif //ALIANAINSIDECLUSTERINVARIANTMASS_H
102
103
104