]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/physics/AliHLTCaloHistoInvMass.h
adding PrimaryVertexFinder and V0Finder component to registration, to be consolidated...
[u/mrichter/AliRoot.git] / HLT / global / physics / AliHLTCaloHistoInvMass.h
1 //-*- Mode: C++ -*-
2 /**************************************************************************
3  * This file is property of and copyright by the ALICE HLT Project        * 
4  * All rights reserved.                                                   *
5  *                                                                        *
6  * Primary Authors: Svein Lindal                                          *
7  *                                                                        *
8  * Permission to use, copy, modify and distribute this software and its   *
9  * documentation strictly for non-commercial purposes is hereby granted   *
10  * without fee, provided that the above copyright notice appears in all   *
11  * copies and that both the copyright notice and this permission notice   *
12  * appear in the supporting documentation. The authors make no claims     *
13  * about the suitability of this software for any purpose. It is          * 
14  * provided "as is" without express or implied warranty.                  *
15  **************************************************************************/
16
17 #ifndef ALIHLTCALOHISTOINVMASS_H
18 #define ALIHLTCALOHISTOINVMASS_H
19
20 /** 
21  * @file   AliHLTCaloHistoInvMass
22  * @author Albin Gaignette and Svein Lindal slindal@fys.uio.no
23  * @date 
24  * @brief  Produces Invariant mass histograms of PHOS clusters
25  */
26
27 // see header file for class documentation
28 // or
29 // refer to README to build package
30 // or
31 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
32
33
34 #include "AliHLTCaloHistoProducer.h"
35 #include "Rtypes.h"
36
37 class TObjArray;
38 class AliHLTCaloClusterDataStruct;
39 class TRefArray;
40 class TString;
41 class TH1F;
42
43 /** 
44  * @class AliHLTCaloHistoInvMass
45  *
46  * Class produces physics histograms for PHOS. It takes a TClonesArray
47  * of AliESDCalocluster as input and fills several histograms
48  *
49  * Histograms (1D):
50  *  * - Invariant mass of two clusters
51  * 
52  * @ingroup alihlt_phos
53  */
54
55 using std::vector;
56
57 class AliHLTCaloHistoInvMass : public AliHLTCaloHistoProducer {
58
59 public:
60   
61   /** Constructor */
62   AliHLTCaloHistoInvMass(TString det);
63
64   /** Destructor */
65   virtual ~AliHLTCaloHistoInvMass();
66
67   //** Loops of the calo clusters and fills histos
68   Int_t FillHistograms(Int_t nc, TRefArray * clusterArray);
69   Int_t FillHistograms(Int_t nc, vector<AliHLTCaloClusterDataStruct*> &cVec);
70   //  template <class T> Int_t FillHistograms(Int_t nc, vector<T*> clusterVec);
71
72
73   //   template <class T>
74   //   Int_t FillHistograms(Int_t nc, vector<T*> &cVec);
75   
76 private:
77
78   /** Default constructor prohibited */
79   AliHLTCaloHistoInvMass();
80   
81   /** Copy constructor */
82   AliHLTCaloHistoInvMass(const AliHLTCaloHistoInvMass &);
83   
84   /** Assignment operator */
85   AliHLTCaloHistoInvMass & operator= (const AliHLTCaloHistoInvMass &);
86   
87   /** Calculate 2 cluster inv mass and fill histograms */
88   Int_t FillInvariantMassHistograms(Int_t nc, Float_t cPos[][3], Float_t cEnergy[]);
89
90   /** Histogram of the 2 cluster invariant mass */
91   TH1F *fHistTwoClusterInvMass0;                 //!transient
92   TH1F *fHistTwoClusterInvMass1;                 //!transient
93   TH1F *fHistTwoClusterInvMass2;                 //!transient
94   TH1F *fHistTwoClusterInvMass3;                 //!transient
95   TH1F *fHistTwoClusterInvMass4;                 //!transient
96
97   ClassDef(AliHLTCaloHistoInvMass, 0);
98
99 };
100
101 #endif