put back previous default value, although decission needs to be made to which one...
[u/mrichter/AliRoot.git] / EMCAL / AliCaloRawAnalyzerComparison.h
1 #ifndef ALICALORAWANALYZERCOMPARISON_H
2 #define ALICALORAWANALYZERCOMPARISON_H
3
4 /**************************************************************************
5  * This file is property of and copyright by the Experimental Nuclear     *
6  * Physics Group, Dep. of Physics                                         *
7  * University of Oslo, Norway, 2007                                       *
8  *                                                                        *
9  * Author: Per Thomas Hille <perthi@fys.uio.no> for the ALICE HLT Project.*
10  * Contributors are mentioned in the code where appropriate.              *
11  * Please report bugs to perthi@fys.uio.no                                *
12  *                                                                        *
13  * Permission to use, copy, modify and distribute this software and its   *
14  * documentation strictly for non-commercial purposes is hereby granted   *
15  * without fee, provided that the above copyright notice appears in all   *
16  * copies and that both the copyright notice and this permission notice   *
17  * appear in the supporting documentation. The authors make no claims     *
18  * about the suitability of this software for any purpose. It is          *
19  * provided "as is" without express or implied warranty.                  *
20  **************************************************************************/
21
22 #define NANALYZERS 5
23
24 #include <vector>
25 #include "AliCaloBunchInfo.h"
26 #include "AliCaloFitResults.h"
27
28 #define NZCOLSSMOD   48     
29 #define NXROWSSMOD   24    
30
31 class AliCaloRawAnalyzer;
32 class TH2D;
33 class TH1D;
34
35
36 class  AliCaloRawAnalyzerComparison
37 {
38  public:
39   AliCaloRawAnalyzerComparison();
40   virtual ~AliCaloRawAnalyzerComparison() {;}
41   
42   void Evaluate( const std::vector<AliCaloBunchInfo> &bunchvector, 
43                  const UInt_t altrocfg1,  const UInt_t altrocfg2, const int event, const int col, const int row );
44   
45   void EventChanged();
46
47   void WriteHistograms();
48
49  private:
50   AliCaloRawAnalyzerComparison                ( const AliCaloRawAnalyzerComparison  & );
51   AliCaloRawAnalyzerComparison   & operator = ( const AliCaloRawAnalyzerComparison  & );
52
53   void IntiHistograms( std::vector <AliCaloRawAnalyzer*> analyzers, AliCaloRawAnalyzer* ref );
54
55   TH1D *fAmpHistograms[NANALYZERS][NZCOLSSMOD][NXROWSSMOD]; // amplitude histos
56
57   TH2D *fAmplitudeVsEvent[NANALYZERS];  // Amplitude vs envent number
58   TH2D *fTofVsEvent[NANALYZERS];        // Tof vs event number
59   TH2D *fRefAmpVsAnalyzers[NANALYZERS]; // Amplidue from give analyzer vs reference
60   TH2D *fRefTofVsAnalyzers[NANALYZERS]; // Amplidue from give analyzer vs reference
61   TH1D *fAmpDiff[NANALYZERS]; // Difference in amplitude between reference
62   TH1D *fTofDiff[NANALYZERS]; // Difference in tof between reference
63   TH1D *fTofResDifferential[NANALYZERS]; //differntial tof resolution 
64   TH1D *fTofResAbsolute[NANALYZERS]; //differntial tof resolution
65
66   std::vector <AliCaloRawAnalyzer*> fRawAnalyzers; // raw analyzers
67   AliCaloRawAnalyzer *fReferenceAnalyzer; // reference analyzer
68   
69   int fMod;     // SuperModule index
70   int fMonCol1; // column index, for tower 1
71   int fMonRow1; // row index, for tower 1
72   int fMonCol2; // column index, for tower 2
73   int fMonRow2; // row index, for tower 1
74
75   AliCaloFitResults fMon1[NANALYZERS]; // results for tower 1
76   AliCaloFitResults fMon2[NANALYZERS]; // results for tower 2
77
78 };
79
80 #endif