]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliCaloRawAnalyzerComparison.h
adding survey file in AliSurveyObj format
[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 using namespace std;
32
33 class AliCaloRawAnalyzer;
34 class TH2D;
35 class TH1D;
36
37
38 class  AliCaloRawAnalyzerComparison
39 {
40  public:
41   AliCaloRawAnalyzerComparison();
42   virtual ~AliCaloRawAnalyzerComparison();
43   void Evaluate( const vector<AliCaloBunchInfo> &bunchvector, 
44                  const UInt_t altrocfg1,  const UInt_t altrocfg2, const int event, const int col, const int row ); 
45   
46   void EventChanged();
47
48   void WriteHistograms();
49
50  private:
51   void IntiHistograms( vector <AliCaloRawAnalyzer*> analyzers, AliCaloRawAnalyzer* ref );
52
53   TH1D *fAmpHistograms[NANALYZERS][NZCOLSSMOD][NXROWSSMOD];
54
55   TH2D *fAmplitudeVsEvent[NANALYZERS];  // Amplitude vs envent number
56   TH2D *fTofVsEvent[NANALYZERS];        // Tof vs event number
57   TH2D *fRefAmpVsAnalyzers[NANALYZERS]; // Amplidue from give analyzer vs reference
58   TH2D *fRefTofVsAnalyzers[NANALYZERS]; // Amplidue from give analyzer vs reference
59   TH1D *fAmpDiff[NANALYZERS]; // Difference in amplitude between reference
60   TH1D *fTofDiff[NANALYZERS]; // Difference in tof between reference
61   TH1D *fTofResDifferential[NANALYZERS]; //differntial tof resolution 
62   TH1D *fTofResAbsolute[NANALYZERS]; //differntial tof resolution 
63   
64
65   vector <AliCaloRawAnalyzer*> fRawAnalyzers; // raw analyzers
66   AliCaloRawAnalyzer *fReferenceAnalyzer; // reference analyzer
67   
68   int fMod; // SuperModule index
69   int fMonCol1; // column index, for tower 1
70   int fMonRow1; // row index, for tower 1
71   int fMonCol2; // column index, for tower 2
72   int fMonRow2; // row index, for tower 1
73
74   AliCaloFitResults fMon1[NANALYZERS]; // results for tower 1
75   AliCaloFitResults fMon2[NANALYZERS]; // results for tower 2
76
77 };
78
79 #endif