BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnHistFHCal.h
Go to the documentation of this file.
1#ifndef BMNHISTFHCal_H
2#define BMNHISTFHCal_H 1
3
4#include "BmnFHCalDigi.h"
5#include "BmnFHCalGeo.h"
6#include "BmnHist.h"
7#include "BmnHodoDigi.h"
8#include "BmnHodoRaw2Digit.h"
9#include "TCanvas.h"
10#include "TChain.h"
11#include "TClonesArray.h"
12#include "TColor.h"
13#include "TFile.h"
14#include "TFolder.h"
15#include "TH1F.h"
16#include "TH2F.h"
17#include "THttpServer.h"
18#include "TString.h"
19#define Hodo_ROWS 2
20#define Hodo_COLS 2
21#define coefHodo 1
22
23#include <TNamed.h>
24#define FHCal_ROWS 1
25#define FHCal_COLS 2
26
27class BmnHistFHCal : public BmnHist
28{
29 public:
30 BmnHistFHCal(TString title = "FHCal", TString path = "", Int_t periodID = 8, BmnSetup setup = kBMNSETUP);
31 virtual ~BmnHistFHCal();
32 void CreateHistos();
33 void Reset();
34 void Register(THttpServer* serv);
35 void SetDir(TFile* outFile, TTree* recoTree);
36 void DrawBoth();
37 void ClearRefRun();
38 void FillFromDigi(DigiArrays* fDigiArrays);
40 void SetSelection(Int_t Module, Int_t Section, Int_t Trigger);
41 void SetGeometry(const std::string& path);
42
43 private:
45 static constexpr int kTOTAL_MODULES = 54; // FHCAL 2022. Modules numerated from 1 to 54 inclusive
46
47 static constexpr int kNstrips = 16; // Hodo 2022. Strips numerated from 1 to 16 inclusive
48 static constexpr int kNsides = 2; // Hodo 2022. Strips have UP and DOWN readout sides
49 static constexpr int kNgains = 2; // Hodo 2022. Strips have HIGH and LOW gain readout channels
50
51 long int fEventCounter = 1;
52 long int fEventCounterZL = 1;
53 BmnFHCalGeo* fGeoHandler; // stores map with detector address to 3D position and error
57
58 TH1F* h1d_Emodules; // energy in modules. 1D
59 TH1F* hSecE; // amplitude in selected section
60 TH1F* wfmSec; // waveform in selected section
61 TH2F* h2_calo; // energy in modules. 2D X-Y
62 TH2F* h2_calo_text; // modules indexes. 2D X-Y
63 TH2F* h2_mod_sec; // energy in modules sections. 2D sec-mod
64 TH2F* h2_ZL_nEvent; // fZl vs Event number. 2D fZl-nEvent
65 TH1F* h1_totalE; // total energy in FHCal. 1D
66 TH2F* h2_totalE_hodoZ2_BT; // total energy in FHCal vs Hodo Z^2, BT. 2D
67 TH2F* h2_totalE_hodoZ2_CCT2; // total energy in FHCal vs Hodo Z^2, CCT2. 2D
68
79
80 std::vector<PadInfo*> canAmpsPads;
81 std::vector<PadInfo*> canProfsPads;
82 std::vector<PadInfo*> canZLPads;
83 vector<PadInfo*> canSelectPads;
84 std::vector<PadInfo*> can_mod_secPads;
85 std::vector<PadInfo*> can_ZL_nEventPads;
86 std::vector<PadInfo*> can_totalEPads;
87 std::vector<PadInfo*> can_totalE_hodoZ2Pads;
88 std::vector<TString> NamesAmps;
89 std::vector<TString> NamesProfs;
90 std::vector<TString> NamesZL;
91 vector<TString> NamesSelect;
92 std::vector<TString> Names_mod_sec;
93 std::vector<TString> Names_ZL_nEvent;
94 std::vector<TString> Names_totalE;
95 std::vector<TString> Names_totalE_hodoZ2;
96
97 std::vector<TH1*> hModuleProfile =
98 std::vector<TH1*>(kTOTAL_MODULES + 1, nullptr); // Modules numerated from 1 to 54 inclusive
99 std::vector<TH1*> h2_mod_ZL_nEvent =
100 std::vector<TH1*>(kTOTAL_MODULES + 1, nullptr); // Modules numerated from 1 to 54 inclusive
101
103};
104
105#endif /* BMNHISTFHCal_H */
int Int_t
#define ClassDef(name, id)
BmnStatus
Define status code.
Definition BmnEnums.h:93
@ kBMNSETUP
Definition BmnEnums.h:166
void FillFromDigi(DigiArrays *fDigiArrays)
std::vector< TString > NamesAmps
Int_t fSelectedSection
TCanvas * canProfsSmall
static constexpr int kNstrips
vector< PadInfo * > canSelectPads
static constexpr int kNgains
long int fEventCounterZL
void SetGeometry(const std::string &path)
std::vector< TH1 * > h2_mod_ZL_nEvent
TCanvas * can_totalE
std::vector< TString > Names_mod_sec
std::vector< PadInfo * > can_mod_secPads
TCanvas * canSelect
std::vector< TString > NamesZL
static constexpr int kTOTAL_MODULES
std::vector< TString > NamesProfs
std::vector< PadInfo * > canAmpsPads
TCanvas * canAmps
BmnStatus SetRefRun(Int_t id)
TH2F * h2_totalE_hodoZ2_CCT2
void CreateHistos()
TH1F * h1d_Emodules
TCanvas * canProfsBig
virtual ~BmnHistFHCal()
std::vector< TString > Names_ZL_nEvent
static constexpr int kNsides
TH2F * h2_calo_text
std::vector< TString > Names_totalE_hodoZ2
Int_t fSelectedModule
TH2F * h2_ZL_nEvent
std::vector< PadInfo * > can_totalE_hodoZ2Pads
std::vector< TString > Names_totalE
TCanvas * canZLBig
TClonesArray * Events
TCanvas * can_totalE_hodoZ2
std::vector< TH1 * > hModuleProfile
std::vector< PadInfo * > canZLPads
std::vector< PadInfo * > can_ZL_nEventPads
TH1F * h1_totalE
std::vector< PadInfo * > can_totalEPads
long int fEventCounter
TH2F * h2_mod_sec
TCanvas * can_mod_sec
std::vector< PadInfo * > canProfsPads
BmnHistFHCal(TString title="FHCal", TString path="", Int_t periodID=8, BmnSetup setup=kBMNSETUP)
TCanvas * can_ZL_nEvent
vector< TString > NamesSelect
void SetDir(TFile *outFile, TTree *recoTree)
TCanvas * canZLSmall
void Register(THttpServer *serv)
void SetSelection(Int_t Module, Int_t Section, Int_t Trigger)
Int_t fSelectedTrigger
TH2F * h2_totalE_hodoZ2_BT
BmnFHCalGeo * fGeoHandler
BmnHist(Int_t periodID=7, BmnSetup setup=kBMNSETUP)
Definition BmnHist.cxx:3
friend friend class TClonesArray