]>
Commit | Line | Data |
---|---|---|
10ace9c2 | 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 | #include "AliHLTCaloDigitDataStruct.h" | |
30 | #include "AliHLTCaloChannelDataStruct.h" | |
fdf6f4e9 | 31 | #include "AliHLTDataTypes.h" |
10ace9c2 | 32 | #include "AliAltroRawStreamV3.h" |
33 | #include "AliRawReaderMemory.h" | |
34 | #include "AliAltroRawStreamV3.h" | |
35 | #include "AliCaloRawStreamV3.h" | |
36 | #include "AliEMCALTriggerSTURawStream.h" | |
37 | ||
38 | // include root stuff | |
39 | #include "TFile.h" | |
40 | #include "TProfile2D.h" | |
41 | #include "TH1F.h" | |
42 | #include "TH2F.h" | |
43 | #include "TH2I.h" | |
44 | #include "TObjArray.h" | |
45 | #include "TString.h" | |
46 | ||
47 | ||
48 | ||
49 | class AliHLTEMCALConstants; | |
50 | class AliHLTCaloSharedMemoryInterfacev2; | |
51 | class AliHLTCaloChannelDataHeaderStruct; | |
52 | class AliHLTEMCALMapper; | |
53 | class AliRawReaderMemory; | |
54 | class AliAltroRawStreamV3; | |
55 | class AliEMCALTriggerSTURawStream; | |
56 | class AliCaloRawStreamV3; | |
57 | class AliCaloRawAnalyzer; | |
fdf6f4e9 | 58 | class TString; |
10ace9c2 | 59 | class TH2F; |
60 | class TH2I; | |
61 | ||
62 | ||
63 | class AliHLTEMCALRawHistoMaker : AliHLTCaloConstantsHandler | |
64 | { | |
65 | ||
66 | public: | |
67 | /** Constructor */ | |
68 | AliHLTEMCALRawHistoMaker(); | |
69 | ||
70 | /** Destructor */ | |
71 | virtual ~AliHLTEMCALRawHistoMaker(); | |
72 | ||
73 | /** Assignment */ | |
74 | AliHLTEMCALRawHistoMaker & operator = (const AliHLTEMCALRawHistoMaker) | |
75 | { | |
76 | return *this; | |
77 | } | |
78 | ||
79 | /** | |
80 | * Make the digits for one event. | |
81 | * @param channelDataHeader is the data header from the AliHLTCaloRawAnalyzer | |
82 | * @return the number of digits found | |
83 | */ | |
84 | ||
85 | Int_t MakeHisto(AliHLTCaloChannelDataHeaderStruct* channelDataHeader, | |
86 | const AliHLTComponentBlockData* iter, AliHLTUInt8_t* outputPtr, | |
87 | const AliHLTUInt32_t size, int beverbose); | |
88 | ||
89 | TObjArray * GetHistograms(); | |
90 | ||
91 | private: | |
92 | ||
93 | TProfile2D **fChannelEMap; | |
94 | TProfile2D **fChannelTMap; | |
95 | TH2F **fChannelETMap; | |
96 | ||
97 | TH2I* h2DTRU; | |
98 | TH2I* h2DSTU; | |
99 | ||
100 | TObjArray *hList; | |
101 | ||
102 | /** Pointer to shared memory interface */ | |
103 | AliHLTCaloSharedMemoryInterfacev2* fShmPtr; //! transient | |
104 | ||
105 | /** Pointer to the raw data reader which reads from memory */ | |
106 | AliRawReaderMemory* fRawCounterMemoryPtr; //!transient | |
107 | ||
108 | /** Pointer to the raw stream */ | |
109 | AliAltroRawStreamV3* fAltroRawStreamPtr; //!transient | |
110 | ||
111 | /** Pointer to the calo raw stream */ | |
112 | AliCaloRawStreamV3* fRawStreamPtr; //!transient | |
113 | ||
114 | /** Pointer to the STU raw stream */ | |
115 | AliEMCALTriggerSTURawStream* fSTURawStreamPtr; | |
116 | ||
117 | /** Mapper */ | |
118 | AliHLTEMCALMapper* fMapperPtr; //COMMENT | |
119 | ||
120 | ||
121 | /** Pointer to an analyzer object used for raw data anlysis */ | |
122 | AliCaloRawAnalyzer *fAnalyzerPtr; //COMMENT | |
123 | ||
124 | /** Constants class */ | |
125 | AliHLTEMCALConstants* fEMCALConstants; | |
126 | ||
127 | AliHLTEMCALRawHistoMaker(const AliHLTEMCALRawHistoMaker &); | |
128 | //AliHLTEMCALRawHistoMaker & operator = (const AliHLTEMCALRawHistoMaker &); | |
129 | ||
130 | ClassDef(AliHLTEMCALRawHistoMaker, 0); | |
131 | ||
132 | }; | |
133 | ||
134 | ||
135 | #endif | |
136 |