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