new analysis classes, not yet in build system
[u/mrichter/AliRoot.git] / HLT / 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
11     @date   
12     @brief  Base functionality for HLT JET analysis package
13 */
14
15 #include "TObject.h"
16
17 #include "AliHLTLogging.h"
18
19 /**
20  * @class AliHLTJETAnalysisBase
21  * This class contains basic constants for the Jet Analysis.
22  *
23  * @ingroup alihlt_jet
24  * @ingroup alihlt_jet_analysis
25  */
26
27 class AliHLTJETAnalysisBase : public TObject, public AliHLTLogging {
28
29  public:
30
31   /*
32    * ---------------------------------------------------------------------------------
33    *                            Constructor / Destructor
34    * ---------------------------------------------------------------------------------
35    */
36  
37   /** Standard constructor */
38   AliHLTJETAnalysisBase();
39
40   /** Destructor */
41   ~AliHLTJETAnalysisBase();  
42   
43   /*
44    * ---------------------------------------------------------------------------------
45    *                          Histogram enum's - public
46    * ---------------------------------------------------------------------------------
47    */
48
49   /** Plot type of Delta histograms */
50   enum JetDeltaType_t {
51     kDeltaAll,                /**< Delta of all jets */
52     kDeltaLead,               /**< Delta of leading jets */
53     kDeltaMatchedAll,         /**< Delta of all matched jets */
54     kDeltaMatchedLead,        /**< Delta of all matched leading jets */
55     kDeltaMax                 /**< Number of enum entries */
56   };
57  
58   /** Plot type of Spectra histograms */
59   enum JetSpectraType_t {
60     kSpectraPythiaAll,        /**< Spectra of all pythia jets */
61     kSpectraPythiaMatched,    /**< Spectra of matched pythia jets */
62     kSpectraPythiaUnmatched,  /**< Spectra of unmatched pythia jets */
63     kSpectraRecoAll,          /**< Spectra of all reco jets */
64     kSpectraRecoMatched,      /**< Spectra of matched reco jets */
65     kSpectraRecoUnmatched,    /**< Spectra of unmatched reco jets */
66     kSpectraRecoLeadAll,      /**< Spectra of all leading reco jets */
67     kSpectraRecoLeadMatched,  /**< Spectra of matched leading reco jets */
68     kSpectraRecoLeadUnmatched,/**< Spectra of unmatched leading reco jets */
69     kSpectraMax               /**< Number of enum entries */
70   };
71   
72   /** Plot type of histograms */
73   enum JetPlotType_t {
74     kPlotAll,                 /**< All jets */
75     kPlotLead,                /**< Leading jets */
76     kPlotMax                  /**< Number of enum entries */
77   };
78
79   /** Type of histgrams */
80   enum JetHistogramType_t {
81     kHistDeltaEt,             /**< Delta E_t histogram */
82     kHistDeltaEta,            /**< Delta Eta histogram */
83     kHistDeltaPhi,            /**< Delta Phi histogram */
84     kHistDeltaEtaDeltaPhi,    /**< Delta Eta Delta Phi histogram */
85     kHistSpectraEt,           /**< Spectra E_t histogram */
86     kHistSpectraEta,          /**< Spectra Eta histogram */
87     kHistSpectraPhi,          /**< Spectra Phi histogram */
88     kHistCorrelationsJetEt,   /**< Correlation Et histogram */
89     kHistResolutionsJetEt,    /**< Resolution Et Jet histogram */
90     kHistResolutionsDiJetEt,  /**< Resolution Et DiJet histogram */
91     kHistMax                  /**< Number of enum entries */
92   };
93
94   /** Array of types of the Delta histograms */
95   static const Char_t *fgkDeltaType[];        //! transient
96
97   /** Array of types of the Spectra histograms */
98   static const Char_t *fgkSpectraType[];      //! transient
99
100   /** Array of types of histograms */
101   static const Char_t *fgkPlotType[];         //! transient
102  
103   ///////////////////////////////////////////////////////////////////////////////////
104   
105  private:
106
107   /** copy constructor prohibited */
108   AliHLTJETAnalysisBase(const AliHLTJETAnalysisBase&);
109
110   /** assignment operator prohibited */
111   AliHLTJETAnalysisBase& operator=(const AliHLTJETAnalysisBase&);
112
113   /*
114    * ---------------------------------------------------------------------------------
115    *                             Members - private
116    * ---------------------------------------------------------------------------------
117    */
118     
119   ClassDef(AliHLTJETAnalysisBase, 0)
120 };
121 #endif