Split: HLT/JET -> HLTANALYSIS/JET
[u/mrichter/AliRoot.git] / HLTANALYSIS / JET / analysis / AliHLTJETAnalysisBase.h
1 //-*- Mode: C++ -*-
2 #ifndef ALIHLTJETANALYSISBASE_H
3 #define ALIHLTJETANALYSISBASE_H
4  
5 /* This file is property of and copyright by the ALICE HLT Project        * 
6  * ALICE Experiment at CERN, All rights reserved.                         *
7  * See cxx source for full Copyright notice                               */
8
9 /** @file   AliHLTJETAnalysisBase.h
10     @author Jochen Thaeder <jochen@thaeder.de>
11     @brief  Base functionality for HLT JET analysis package
12 */
13
14 #include "TObject.h"
15
16 #include "AliHLTLogging.h"
17
18 /**
19  * @class AliHLTJETAnalysisBase
20  * This class contains basic constants for the Jet Analysis.
21  *
22  * @ingroup alihlt_jet
23  * @ingroup alihlt_jet_analysis
24  */
25
26 class AliHLTJETAnalysisBase : public TObject, public AliHLTLogging {
27
28  public:
29
30   /*
31    * ---------------------------------------------------------------------------------
32    *                            Constructor / Destructor
33    * ---------------------------------------------------------------------------------
34    */
35  
36   /** Standard constructor */
37   AliHLTJETAnalysisBase();
38
39   /** Destructor */
40   ~AliHLTJETAnalysisBase();  
41   
42   /*
43    * ---------------------------------------------------------------------------------
44    *                          Histogram enum's - public
45    * ---------------------------------------------------------------------------------
46    */
47
48   /** Plot type of Delta histograms */
49   enum JetDeltaType_t {
50     kDeltaAll,                /**< Delta of all jets */
51     kDeltaLead,               /**< Delta of leading jets */
52     kDeltaMatchedAll,         /**< Delta of all matched jets */
53     kDeltaMatchedLead,        /**< Delta of all matched leading jets */
54     kDeltaMax                 /**< Number of enum entries */
55   };
56  
57   /** Plot type of Spectra histograms */
58   enum JetSpectraType_t {
59     kSpectraCmpAll,           /**< Spectra of all cmp jets */
60     kSpectraCmpMatched,       /**< Spectra of matched cmp jets */
61     kSpectraCmpUnmatched,     /**< Spectra of unmatched cmp jets */
62     kSpectraCmpLeadAll,       /**< Spectra of all leading cmp jets */
63     kSpectraCmpLeadMatched,   /**< Spectra of matched leading cmp jets */
64     kSpectraCmpLeadUnmatched, /**< Spectra of unmatched leading cmp jets */
65     kSpectraRecAll,           /**< Spectra of all rec jets */
66     kSpectraRecMatched,       /**< Spectra of matched rec jets */
67     kSpectraRecUnmatched,     /**< Spectra of unmatched rec jets */
68     kSpectraRecLeadAll,       /**< Spectra of all leading rec jets */
69     kSpectraRecLeadMatched,   /**< Spectra of matched leading rec jets */
70     kSpectraRecLeadUnmatched, /**< Spectra of unmatched leading rec jets */
71     kSpectraMax               /**< Number of enum entries */
72   };
73   
74   /** Plot type of histograms */
75   enum JetPlotType_t {
76     kPlotAll,                 /**< All jets */
77     kPlotLead,                /**< Leading jets */
78     kPlotMax                  /**< Number of enum entries */
79   };
80
81   /** Type of histgrams */
82   enum JetHistogramType_t {
83     kHistDeltaEt,             /**< Delta E_t histogram */
84     kHistDeltaEta,            /**< Delta Eta histogram */
85     kHistDeltaPhi,            /**< Delta Phi histogram */
86     kHistDeltaEtaDeltaPhi,    /**< Delta Eta Delta Phi histogram */
87     kHistSpectraEt,           /**< Spectra E_t histogram */
88     kHistSpectraEta,          /**< Spectra Eta histogram */
89     kHistSpectraPhi,          /**< Spectra Phi histogram */
90     kHistCorrelationsJetEt,   /**< Correlation Et histogram */
91     kHistResolutionsJetEt,    /**< Resolution Et Jet histogram */
92     kHistResolutionsDiJetEt,  /**< Resolution Et DiJet histogram */
93     kHistMax                  /**< Number of enum entries */
94   };
95
96   /** Array of types of the Delta histograms */
97   static const Char_t *fgkDeltaType[];        //! transient
98
99   /** Array of types of the Spectra histograms */
100   static const Char_t *fgkSpectraType[];      //! transient
101
102   /** Array of types of the MC Spectra histograms */
103   static const Char_t *fgkSpectraTypeMC[];    //! transient
104
105   /** Array of types of histograms */
106   static const Char_t *fgkPlotType[];         //! transient
107  
108   ///////////////////////////////////////////////////////////////////////////////////
109   
110  private:
111
112   /** copy constructor prohibited */
113   AliHLTJETAnalysisBase(const AliHLTJETAnalysisBase&);
114
115   /** assignment operator prohibited */
116   AliHLTJETAnalysisBase& operator=(const AliHLTJETAnalysisBase&);
117
118   /*
119    * ---------------------------------------------------------------------------------
120    *                             Members - private
121    * ---------------------------------------------------------------------------------
122    */
123     
124   ClassDef(AliHLTJETAnalysisBase, 0)
125 };
126 #endif