]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSHistoProdInvMass.h
4d7b837088204df1e1f083b5be7eb564465415e3
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSHistoProdInvMass.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 ALIHLTPHOSHISTOPRODINVMASS_H
17 #define ALIHLTPHOSHISTOPRODINVMASS_H
18
19 /** 
20  * @file   AliHLTPHOSHistoProdInvMass
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 "AliHLTPHOSConstants.h" 
36
37 class TObjArray;
38 class TH1F;
39 class AliHLTCaloClusterReader;
40 struct AliHLTCaloClusterHeaderStruct;
41
42
43 using namespace  PhosHLTConst;
44
45
46 /** 
47  * @class AliHLTPHOSHistoProdInvMass
48  *
49  * Class produces physics histograms for PHOS. It takes a TClonesArray
50  * of AliESDCalocluster as input and fills several histograms
51  *
52  * Histograms (1D):
53  *  * - Invariant mass of two clusters
54  * 
55  * @ingroup alihlt_phos
56  */
57
58 class AliHLTPHOSHistoProdInvMass 
59 {
60
61 public:
62   
63   /** Constructor */
64   AliHLTPHOSHistoProdInvMass();
65
66   /** Destructor */
67   virtual ~AliHLTPHOSHistoProdInvMass();
68
69   /** Copy constructor */
70   AliHLTPHOSHistoProdInvMass(const AliHLTPHOSHistoProdInvMass &) :
71     fClusterReader(NULL),
72     fHistTwoClusterInvMass(NULL),
73     fHistArrayPtr(NULL)
74   {
75     // Copy constructor not implemented
76   }
77
78   /** Assignment operator */
79   AliHLTPHOSHistoProdInvMass & operator= (const AliHLTPHOSHistoProdInvMass)
80   {
81     // assignment
82     return *this;
83   }
84
85   /** Analyse the clusters in the event */
86   int DoEvent(AliHLTCaloClusterHeaderStruct* cHeader);
87
88   /** Get a pointer to the TObjArray of histograms */
89   TObjArray *GetHistograms();
90
91   
92   
93  private:
94
95   /** Cluster reader class   */
96   AliHLTCaloClusterReader * fClusterReader;
97
98   /** Histogram of the 2 cluster invariant mass */
99   TH1F *fHistTwoClusterInvMass;                 //!transient
100
101   /** Pointer to the array of histograms */
102   TObjArray *fHistArrayPtr;                     //!transient
103
104   ClassDef(AliHLTPHOSHistoProdInvMass, 0);
105
106 };
107  
108 #endif