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 *
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
19 * Class makes histograms from information from raw data
21 * @file AliHLTEMCALRawHistoMaker.h
22 * @author Federico Ronchetti
24 * @brief Histo maker for EMCAL HLT
28 #include "AliHLTCaloConstantsHandler.h"
29 #include "AliHLTCaloDigitDataStruct.h"
30 #include "AliHLTCaloChannelDataStruct.h"
31 #include "AliHLTDataTypes.h"
32 #include "AliAltroRawStreamV3.h"
33 #include "AliRawReaderMemory.h"
34 #include "AliAltroRawStreamV3.h"
35 #include "AliCaloRawStreamV3.h"
36 #include "AliEMCALTriggerSTURawStream.h"
40 #include "TProfile2D.h"
44 #include "TObjArray.h"
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;
63 class AliHLTEMCALRawHistoMaker : AliHLTCaloConstantsHandler
68 AliHLTEMCALRawHistoMaker();
71 virtual ~AliHLTEMCALRawHistoMaker();
74 AliHLTEMCALRawHistoMaker & operator = (const AliHLTEMCALRawHistoMaker)
80 * Make the digits for one event.
81 * @param channelDataHeader is the data header from the AliHLTCaloRawAnalyzer
82 * @return the number of digits found
85 Int_t MakeHisto(AliHLTCaloChannelDataHeaderStruct* channelDataHeader,
86 const AliHLTComponentBlockData* iter, AliHLTUInt8_t* outputPtr,
87 const AliHLTUInt32_t size, int beverbose);
89 TObjArray * GetHistograms();
93 TProfile2D **fChannelEMap;
94 TProfile2D **fChannelTMap;
102 /** Pointer to shared memory interface */
103 AliHLTCaloSharedMemoryInterfacev2* fShmPtr; //! transient
105 /** Pointer to the raw data reader which reads from memory */
106 AliRawReaderMemory* fRawCounterMemoryPtr; //!transient
108 /** Pointer to the raw stream */
109 AliAltroRawStreamV3* fAltroRawStreamPtr; //!transient
111 /** Pointer to the calo raw stream */
112 AliCaloRawStreamV3* fRawStreamPtr; //!transient
114 /** Pointer to the STU raw stream */
115 AliEMCALTriggerSTURawStream* fSTURawStreamPtr;
118 AliHLTEMCALMapper* fMapperPtr; //COMMENT
121 /** Pointer to an analyzer object used for raw data anlysis */
122 AliCaloRawAnalyzer *fAnalyzerPtr; //COMMENT
124 /** Constants class */
125 AliHLTEMCALConstants* fEMCALConstants;
127 AliHLTEMCALRawHistoMaker(const AliHLTEMCALRawHistoMaker &);
128 //AliHLTEMCALRawHistoMaker & operator = (const AliHLTEMCALRawHistoMaker &);
130 ClassDef(AliHLTEMCALRawHistoMaker, 0);