]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALFolder.h
New treatment of the cluster coordinate (Christoph)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALFolder.h
CommitLineData
16d3c94d 1#ifndef ALIEMCALFOLDER_H
2#define ALIEMCALFOLDER_H
3/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
0fc11500 6/* $Log$ */
16d3c94d 7
8//_________________________________________________________________________
0fc11500 9// Top EMCAL folder - keep everyrhing for calibration task
10// Initial version was created with TDataSet staf
11// TObjectSet -> TFolder; Sep 5, 2007
16d3c94d 12//
13//*-- Author: Aleksei Pavlinov (WSU, Detroit, USA)
14
15// --- ROOT system ---
16
0fc11500 17#include <TFolder.h>
16d3c94d 18#include <TString.h>
19
20class AliEMCALGeometry;
21class AliEMCALSuperModule;
22class AliEMCALCell;
23class AliESDCaloCluster;
24class AliEMCALPi0SelectionParam;
25class pi0SelectionParam;
26class AliEMCALCalibData;
27class AliEMCALCalibCoefs;
28class AliEMCALRecPoint;
29
30class TList;
31class TNtuple;
32
0fc11500 33class AliEMCALFolder : public TFolder {
16d3c94d 34
35 public:
36
37 AliEMCALFolder();
38 AliEMCALFolder(const char* name, const char* title="Top EMCAL folder", Bool_t putToBrowser=kFALSE);
39 AliEMCALFolder(const Int_t it, const char* title="Top EMCAL folder", Bool_t putToBrowser=kFALSE);
40
41 virtual ~AliEMCALFolder();
42
43 void Init(Bool_t putToBrowser=kFALSE);
44 // Get methods
45 Int_t GetIterationNumber() const {return fCounter;}
46 AliEMCALSuperModule* GetSuperModule(const Int_t nm);
47 TList* GetHists() {return fLhists;}
48 AliEMCALCell** GetListOfCells() {return fLofCells;}
49 AliEMCALCell* GetCell(const Int_t absId);
50 void SetCell(AliEMCALCell *cell, const Int_t absId);
51 AliEMCALPi0SelectionParam* GetPi0SelectionPar() {return fPi0SelPar;}
52 pi0SelectionParam* GetPi0SelectionParRow(Int_t nrow);
53
54 void FillPi0Candidate(const Double_t mgg, AliESDCaloCluster* cl1, AliESDCaloCluster* cl2);
55 void FillPi0Candidate(const Double_t mgg, Int_t absIdMax, Int_t nm);
56 // Define CC
57 void FitAllSMs(); // SM0 now
0fc11500 58 // Service routine
16d3c94d 59 AliEMCALCalibCoefs* GetCCTable(const char* name);
60 AliEMCALCalibCoefs* GetCCFirst() {return GetCCTable(fgkCCFirstName.Data());}
61 AliEMCALCalibCoefs* GetCCIn() {return GetCCTable(fgkCCinName.Data());}
62 AliEMCALCalibCoefs* GetCCOut(){return GetCCTable(fgkCCoutName.Data());}
63 Int_t GetSMNumber(AliESDCaloCluster* cl);
64 // Recalibration staf - Jun 18,2007
0fc11500 65 static AliEMCALRecPoint *GetRecPoint(AliESDCaloCluster *cl,AliEMCALCalibCoefs *tOld,AliEMCALCalibCoefs *tNew,
66 TList *l=0, Double_t deff=-1., Double_t w0=-1., Double_t phiSlope=0.0);
16d3c94d 67 // MENU
68 void Save(const char *fn = "EMCALFOLDER.root", const char *opt="RECREATE"); // *MENU*
69 static AliEMCALFolder* Read(const char *fn = "EMCALFOLDER.root", const char *opt="READ");
70 void InitAfterRead(); // *MENU*
71 void DrawQA(const int nsm=0); // *MENU*
72 void CreateCellNtuple(); // *MENU*
73 void CreateAndFillAdditionalHists(); // *MENU*
74
75 protected:
76 TList* BookHists();
0fc11500 77 Int_t fCounter; // Counter of iteration
16d3c94d 78 //
79 AliEMCALGeometry *fGeometry; //
80 //
81 Int_t fNumOfCell; // number of cells as in geometry
82
83 TList* fLhists; //! for speed
84 AliEMCALCell** fLofCells; //! unifrom array of cells for fast access; invisible from browser
85 AliEMCALPi0SelectionParam* fPi0SelPar; // pi0 selection parameters
86 AliEMCALCalibData *fCalibData; //!
87 //
88 TNtuple *fCellNtuple; //! for quick cell anaylsis
89
90 public:
91 static const TString fgkBaseFolderName; // base name of EMCAL Folder
92 static const TString fgkCCFirstName; // name of first calib.table
93 static const TString fgkCCinName; // name of initial calib.coefs. table
94 static const TString fgkCCoutName; // name of out calib.coefs. table
0fc11500 95 static const TString fgkDirOfRootFiles; // name of directory for saving EMCAL folder
16d3c94d 96
0fc11500 97 void TestSMStruct(); // *MENU*
16d3c94d 98
99 ClassDef(AliEMCALFolder,2) // EMCAL folder
100
101};
102
103#endif // ALIEMCALFOLDER_H