]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/EMCAL/AliHLTEMCALRawHistoMaker.h
treatment of MC labels added
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALRawHistoMaker.h
1 /**************************************************************************
2  * This file is property of and copyright by the ALICE HLT Project        *
3  * All rights reserved.                                                   *
4  * INFN Laboratori Nazionali di Frascati                                  *
5  * Primary Authors: Federico Ronchetti                                    *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15 #ifndef ALIHLTEMCALRAWHISTOMAKER_H
16 #define ALIHLTEMCALRAWHISTOMAKER_H
17
18 /**
19  * Class makes histograms from information from raw data
20  *
21  * @file   AliHLTEMCALRawHistoMaker.h
22  * @author Federico Ronchetti
23  * @date
24  * @brief  Histo maker for EMCAL HLT
25  */
26
27
28 #include "AliHLTCaloConstantsHandler.h"
29
30 #include "AliHLTCaloClusterDataStruct.h"
31 #include "AliHLTCaloChannelDataStruct.h"
32 #include "AliHLTCaloClusterReader.h"
33
34 #include "AliHLTDataTypes.h"
35
36
37 // Includes for RAW data 
38
39 //#include "AliAltroRawStreamV3.h"
40 //#include "AliRawReaderMemory.h"
41 //#include "AliAltroRawStreamV3.h"
42 //#include "AliCaloRawStreamV3.h"
43 //#include "AliEMCALTriggerSTURawStream.h"
44
45
46 // include root stuff
47 #include "TFile.h"
48 #include "TProfile2D.h"
49 #include "TH1F.h"
50 #include "TH2F.h"
51 #include "TH2I.h"
52 #include "TObjArray.h"
53 #include "TString.h"
54
55
56
57 class AliHLTEMCALConstants;
58 class AliHLTEMCALMapper;
59
60 class AliHLTCaloSharedMemoryInterfacev2;
61
62 class AliHLTCaloChannelDataHeaderStruct;
63 class AliHLTCaloClusterHeaderStruct;
64
65 class AliHLTCaloClusterReader;
66
67 //class AliHLTCaloRecPointHeaderStruct;
68
69 //class AliRawReaderMemory;
70 //class AliAltroRawStreamV3;
71 //class AliEMCALTriggerSTURawStream;
72 //class AliCaloRawStreamV3;
73 //class AliCaloRawAnalyzer;
74
75 class TString;
76 class TH2F;
77 class TH2I;
78
79
80 class AliHLTEMCALRawHistoMaker : AliHLTCaloConstantsHandler
81 {
82
83 public:
84   /** Constructor */
85   AliHLTEMCALRawHistoMaker();
86
87   /** Destructor */
88   virtual ~AliHLTEMCALRawHistoMaker();
89
90
91   /**
92    * Make the digits for one event.
93    * @param channelDataHeader is the data header from the AliHLTCaloRawAnalyzer
94    * @return the number of digits found
95    */
96
97   Int_t MakeHisto(AliHLTCaloChannelDataHeaderStruct* channelDataHeader,  AliHLTCaloClusterHeaderStruct *caloClusterHeaderPtr, int beverbose);
98
99   TObjArray * GetHistograms();
100
101 private:
102
103   TProfile2D **fAmp;
104   TProfile2D **fTime;
105   TH2F **fAT;
106
107   TH2F **fCellVsEne;
108   
109
110   TObjArray *hList;
111
112   /** Pointer to shared memory interface */
113   AliHLTCaloSharedMemoryInterfacev2* fShmPtr;                    //! transient
114
115   /** Pointer to the raw data reader which reads from memory */
116   //   AliRawReaderMemory* fRawCounterMemoryPtr;            //!transient
117
118    /** Pointer to the raw stream */
119   //   AliAltroRawStreamV3* fAltroRawStreamPtr;               //!transient
120
121    /** Pointer to the calo raw stream */
122   // AliCaloRawStreamV3* fRawStreamPtr;              //!transient
123
124    /** Pointer to the STU raw stream */
125   // AliEMCALTriggerSTURawStream* fSTURawStreamPtr;
126
127   /** Mapper */
128   AliHLTEMCALMapper* fMapperPtr;                                  //COMMENT
129  
130   /** Constants class */
131   AliHLTEMCALConstants* fEMCALConstants;
132
133   AliHLTCaloClusterReader* fClusterReaderPtr; // !transient The reader
134
135   AliHLTEMCALRawHistoMaker(const AliHLTEMCALRawHistoMaker &);
136   AliHLTEMCALRawHistoMaker & operator = (const AliHLTEMCALRawHistoMaker &);
137   
138   ClassDef(AliHLTEMCALRawHistoMaker, 0); 
139
140 };
141
142
143 #endif
144