]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSHistoProdMatchedTracks.h
Cosmetic updates
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSHistoProdMatchedTracks.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 ALIHLTPHOSHISTOPRODMATCHEDTRACKS_H
17 #define ALIHLTPHOSHISTOPRODMATCHEDTRACKS_H
18
19 /** 
20  * @file   AliHLTPHOSHistoProdMatchedTracks
21  * @author Albin Gaignette and Svein Lindal slindal@fys.uio.no
22  * @date 
23  * @brief  Produces Invariant mass histograms of PHOS clusters
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 #include "Rtypes.h"
35 // #include "TClonesArray.h"
36
37 #include "AliHLTPHOSConstants.h" 
38
39 using namespace  PhosHLTConst;
40
41 class TObjArray;
42 class TH1F;
43 //class TH2F;
44 class AliHLTCaloClusterReader;
45 struct AliHLTCaloClusterHeaderStruct;
46
47
48 /** 
49  * @class AliHLTPHOSHistoProdMatchedTracks
50  *
51  * Class produces physics histograms for PHOS. It takes a TClonesArray
52  * of AliESDCalocluster as input and fills several histograms
53  *
54  * Histograms (1D):
55  * - Total number of clusters per event
56  * - Energy distribution of clusters
57  * - Total energy in event
58  * - Invariant mass of two clusters
59  * - Number of cells in clusters
60  * - Fraction of cells with energy deposit
61  * 
62  * Histograms (2D):
63  * - Number of cells in cluster vs cluster energy
64  * - Number of clusters vs total energy
65  *
66  * @ingroup alihlt_phos
67  */
68
69
70
71 //class AliHLTPHOSHistoProdMatchedTracks : public AliHLTPHOSBase
72 class AliHLTPHOSHistoProdMatchedTracks 
73 {
74  public:
75
76   /** Constructor */
77   AliHLTPHOSHistoProdMatchedTracks();
78
79   /** Destructor */
80   virtual ~AliHLTPHOSHistoProdMatchedTracks();
81
82   /** Copy constructor */
83   AliHLTPHOSHistoProdMatchedTracks(const AliHLTPHOSHistoProdMatchedTracks &) :
84     fClusterReader(NULL),
85     fHistArrayPtr(0),
86     fHistMatchQuality(0),
87     fHistMatchedEnergy(0),
88     fHistUnMatchedEnergy(0)
89   {
90     // Copy constructor not implemented
91   }
92
93   /** Assignment operator */
94   AliHLTPHOSHistoProdMatchedTracks & operator= (const AliHLTPHOSHistoProdMatchedTracks)
95   {
96     // assignment
97     return *this;
98   }
99
100   /** Analyse the clusters in the event */
101   int DoEvent(AliHLTCaloClusterHeaderStruct* cHeader);
102
103   /** Get a pointer to the TObjArray of histograms */
104   TObjArray *GetHistograms();
105
106   
107   
108  private:
109
110   /** Cluster reader class   */
111   AliHLTCaloClusterReader * fClusterReader;
112
113   /** Pointer to the array of histograms */
114   TObjArray *fHistArrayPtr;                     //!transient
115
116   /** Histogram of the 2 cluster invariant mass */
117   TH1F *fHistMatchQuality;                 //!transient
118   
119   /** Histograms of the energy distribution of mached and unmatched clusters*/
120   TH1F *fHistMatchedEnergy;                 //!transient
121   TH1F *fHistUnMatchedEnergy;                 //!transient
122   
123   
124   
125
126   ClassDef(AliHLTPHOSHistoProdMatchedTracks, 0);
127
128 };
129  
130 #endif