]>
Commit | Line | Data |
---|---|---|
23d3fe49 | 1 | #ifndef ALIHLTEMCALUTILS_H |
2 | #define ALIHLTEMCALUTILS_H | |
3 | ||
4 | //* This file is property of and copyright by the ALICE HLT Project * | |
5 | //* ALICE Experiment at CERN, All rights reserved. * | |
6 | //* See cxx source for full Copyright notice */ | |
7 | ||
8 | /** @file AliHLTEMCALUtils.h | |
9 | @author m. ploskon | |
10 | @date | |
11 | @brief Utils for EMCAL-HLT | |
12 | */ | |
13 | ||
14 | #include <TObject.h> | |
15 | ||
16 | /** | |
17 | * @class AliHLTEMCALUtils | |
18 | */ | |
19 | ||
20 | class AliEMCALGeometry; | |
21 | class AliEMCALClusterizerv1; | |
22 | class AliEMCALRecParam; | |
23 | class AliEMCALRawUtils; | |
a558187d | 24 | class AliRawReader; |
25 | class AliESDEvent; | |
26 | ||
27 | class TString; | |
28 | class TFile; | |
29 | class TGeoManager; | |
30 | class TTree; | |
31 | class TClonesArray; | |
32 | class TBranch; | |
23d3fe49 | 33 | |
34 | class AliHLTEMCALUtils : public TObject | |
35 | { | |
36 | public: | |
37 | AliHLTEMCALUtils(); | |
38 | AliHLTEMCALUtils(const AliHLTEMCALUtils & /*t*/); | |
39 | AliHLTEMCALUtils & operator = (const AliHLTEMCALUtils & /*t*/); | |
40 | virtual ~AliHLTEMCALUtils(); | |
41 | ||
a558187d | 42 | static void SetDebug(Int_t idbg) {fgDebug = idbg;} |
43 | ||
44 | static void DeleteStaticMembers(); | |
45 | static void Cleanup(); | |
46 | ||
47 | static void InitRecParam(); | |
48 | static AliEMCALRecParam* GetRecParam(); | |
49 | ||
50 | static AliEMCALRawUtils* GetRawUtils(AliEMCALGeometry *pGeometry = 0); | |
51 | static AliEMCALClusterizerv1* GetClusterizer(); | |
52 | static AliEMCALGeometry* GetGeometry(); | |
53 | ||
54 | static void DeleteGeoManager(); | |
55 | static Bool_t LoadGeoManagerFromFile(const char *fname); | |
56 | static TGeoManager* GetGeoManager() {return fgGeoManager;} | |
57 | ||
58 | static Bool_t InitFakeCDB(const char *cdbpath = "", Int_t runid = 0); | |
59 | static Bool_t ConvertDigits(AliRawReader* rawReader, TTree* digitsTree, Option_t* sOption); | |
60 | static Bool_t Raw2Clusters(AliRawReader* rawReader, TTree* clustersTree, Option_t* sDigitsOption); | |
61 | static Bool_t RawBuffer2Clusters(UChar_t *buffer, ULong_t buffSize, | |
62 | Int_t eqID, | |
63 | TTree* clustersTree, Option_t* sDigitsOption); | |
64 | static TTree* RawBuffer2Clusters(UChar_t *buffer, ULong_t buffSize, | |
65 | Int_t eqID, | |
66 | Option_t* sDigitsOption); | |
23d3fe49 | 67 | |
a558187d | 68 | static TTree* GetDigitsTree(); |
69 | static TTree* GetClustersTree(); | |
23d3fe49 | 70 | |
a558187d | 71 | static UChar_t * FileToMemory(const char *fname, UChar_t *outpbuffer, ULong_t &buffSize); |
72 | ||
73 | static void ResetReconstructionTrees(); | |
74 | static void DeleteReconstructionTrees(); | |
75 | ||
76 | static Bool_t FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd); | |
77 | ||
23d3fe49 | 78 | protected: |
a558187d | 79 | |
23d3fe49 | 80 | private: |
a558187d | 81 | |
82 | static Int_t fgDebug; // debug flag | |
23d3fe49 | 83 | |
84 | static AliEMCALGeometry* fgGeom; // EMCAL geometry | |
85 | static AliEMCALClusterizerv1* fgClusterizer; // ECMAL clusterizer | |
86 | static AliEMCALRecParam* fgRecParam; // EMCAL reconstruction parameters | |
87 | static AliEMCALRawUtils* fgRawUtils; // EMCAL raw utilities | |
a558187d | 88 | |
89 | static TFile* fgGeometryFile; //! // Pointer to the geom root file | |
90 | static TGeoManager* fgGeoManager; //! Pointer to geometry manager | |
91 | ||
92 | static TTree* fgClustersTreeTmp; //! Clusters tree - depending on the reco scheme | |
93 | // use ResetReconstructionTrees | |
94 | static TTree* fgDigitsTreeTmp; //! Digits tree - reset on each Raw2Clusters call | |
95 | static TClonesArray* fgDigitsArrTmp; //! Digits array - reset on each Raw2Clusters call | |
96 | static TBranch* fgDigitsBranchTmp; //! Digits branch - reset on each Raw2Clusters call | |
97 | ||
23d3fe49 | 98 | ClassDef(AliHLTEMCALUtils, 0) |
99 | }; | |
100 | ||
101 | #endif |