]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSMatchedClustersHistoProducer.h
Adding couple of histograms classes
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSMatchedClustersHistoProducer.h
CommitLineData
844d7fdd 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 ALIHLTPHOSMATCHEDCLUSTERSHISTOPRODUCER_H
17#define ALIHLTPHOSMATCHEDCLUSTERSHISTOPRODUCER_H
18
19/**
20 * @file AliHLTPHOSMatchedClustersHistoProducer
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
39using namespace PhosHLTConst;
40
41class TObjArray;
42class TH1F;
43//class TH2F;
44class AliHLTCaloClusterReader;
45struct AliHLTCaloClusterHeaderStruct;
46
47
48/**
49 * @class AliHLTPHOSMatchedClustersHistoProducer
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 AliHLTPHOSMatchedClustersHistoProducer : public AliHLTPHOSBase
72class AliHLTPHOSMatchedClustersHistoProducer
73{
74 public:
75
76 /** Constructor */
77 AliHLTPHOSMatchedClustersHistoProducer();
78
79 /** Destructor */
80 virtual ~AliHLTPHOSMatchedClustersHistoProducer();
81
82 /** Copy constructor */
83 AliHLTPHOSMatchedClustersHistoProducer(const AliHLTPHOSMatchedClustersHistoProducer &) :
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 AliHLTPHOSMatchedClustersHistoProducer & operator= (const AliHLTPHOSMatchedClustersHistoProducer)
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(AliHLTPHOSMatchedClustersHistoProducer, 0);
127
128};
129
130#endif