]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSPhysicsHistogramProducer.h
- fixes due to new PHOS mapping
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSPhysicsHistogramProducer.h
1 /**************************************************************************
2  * This file is property of and copyright by the ALICE HLT Project        * 
3  * All rights reserved.                                                   *
4  *                                                                        *
5  * Primary Authors: Albin Gaignette                                       *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          * 
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 #ifndef ALIHLTPHOSPHYSICSHISTOGRAMPRODUCER_H
17 #define ALIHLTPHOSPHYSICSHISTOGRAMPRODUCER_H
18
19 /** 
20  * @file   AliHLTPHOSPhysicsHistogramProducer
21  * @author Albin Gaignette
22  * @date 
23  * @brief  Histogram producer for PHOS HLT 
24  */
25
26 // see header file for class documentation
27 // or
28 // refer to README to build package
29 // or
30 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
31
32 #include "AliHLTPHOSBase.h"
33
34 class TObjArray;
35 class TH1F;
36 class TH2F;
37
38
39 /** 
40  * @class AliHLTPHOSPhysicsHistogramProducer
41  *
42  * Class produces physics histograms for PHOS. It takes a TClonesArray
43  * of AliESDCalocluster as input and fills several histograms
44  *
45  * Histograms (1D):
46  * - Total number of clusters per event
47  * - Energy distribution of clusters
48  * - Total energy in event
49  * - Invariant mass of two clusters
50  * - Number of cells in clusters
51  * - Fraction of cells with energy deposit
52  * 
53  * Histograms (2D):
54  * - Number of cells in cluster vs cluster energy
55  * - Number of clusters vs total energy
56  *
57  * @ingroup alihlt_phos
58  */
59
60
61
62 class AliHLTPHOSPhysicsHistogramProducer : public AliHLTPHOSBase
63 {
64  public:
65
66   /** Constructor */
67   AliHLTPHOSPhysicsHistogramProducer();
68
69   /** Destructor */
70   virtual ~AliHLTPHOSPhysicsHistogramProducer();
71
72   /** Copy constructor */
73   AliHLTPHOSPhysicsHistogramProducer(const AliHLTPHOSPhysicsHistogramProducer &) :
74     AliHLTPHOSBase(),
75     fHistNcls(0),
76     fHistEnergy(0),
77     fHistTotEnergy(0),
78     fHistTwoClusterInvMass(0),
79     fHistNcells(0),
80     fHistNcellsPercentage(0),
81     fHistCellsEnergy(0),
82     fHistNclusterTotE(0),
83     fHistNcellsSumCells(0),
84     fHistArrayPtr(0)
85   {
86     // Copy constructor not implemented
87   }
88
89   /** Assignment operator */
90   AliHLTPHOSPhysicsHistogramProducer & operator= (const AliHLTPHOSPhysicsHistogramProducer)
91   {
92     // assignment
93     return *this;
94   }
95
96   /** Analyse the clusters in the event */
97   Int_t AnalyseClusters(TClonesArray* clusters);
98
99   /** Get a pointer to the TObjArray of histograms */
100   TObjArray *GetHistograms();
101   
102  private:
103
104   /** Histogram of number of clusters */
105   TH1F *fHistNcls;                              //!transient
106
107   /** Histogram of the cluster energies */
108   TH1F *fHistEnergy;                            //!transient
109
110   /** Histogram of the total energy in PHOS */
111   TH1F *fHistTotEnergy;                         //!transient
112
113   /** Histogram of the 2 cluster invariant mass */
114   TH1F *fHistTwoClusterInvMass;                 //!transient
115
116   /** Histogram of the number of cells with energy */
117   TH1F *fHistNcells;                            //!transient
118
119   /** Histogram of the fraction of cells with energy deposit */
120   TH1F *fHistNcellsPercentage;                  //!transient
121   
122   /** Histogram of number of cells in cluster vs cluster energy */
123   TH2F *fHistCellsEnergy;                       //!transient
124
125   /** Histogram of number of clusters vs total energy */
126   TH2F *fHistNclusterTotE;                      //!transient
127   
128   /** Histogram of number of cells in the cluster vs total number of cells in PHOS */
129   TH2F *fHistNcellsSumCells;                    //!transient
130
131   /** Pointer to the array of histograms */
132   TObjArray *fHistArrayPtr;                     //!transient
133
134   ClassDef(AliHLTPHOSPhysicsHistogramProducer, 0);
135
136 };
137  
138 #endif