test macro to run the EMCAL HLT chain in AliRoot
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALRawHistoMaker.h
CommitLineData
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
49class AliHLTEMCALConstants;
50class AliHLTCaloSharedMemoryInterfacev2;
51class AliHLTCaloChannelDataHeaderStruct;
52class AliHLTEMCALMapper;
53class AliRawReaderMemory;
54class AliAltroRawStreamV3;
55class AliEMCALTriggerSTURawStream;
56class AliCaloRawStreamV3;
57class AliCaloRawAnalyzer;
fdf6f4e9 58class TString;
10ace9c2 59class TH2F;
60class TH2I;
61
62
63class AliHLTEMCALRawHistoMaker : AliHLTCaloConstantsHandler
64{
65
66public:
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
91private:
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