ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_Raw2Digit.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ALFA_Raw2Digit_h
6#define ALFA_Raw2Digit_h
7
8
10
11
12// for ALFA
16
19
20
21#include <fstream>
22#include <sstream>
23#include <string>
24#include <sys/stat.h>
25#include <sys/types.h>
26#include <dirent.h>
27
28#include "TROOT.h"
29#include "TString.h"
30
31class TH1F;
32class TH2I;
33class TH2D;
34class TTree;
35class TFile;
36
37
38
40{
41public:
42 ALFA_Raw2Digit(const std::string& name, ISvcLocator* pSvcLocator);
43
44 StatusCode initialize();
45 StatusCode execute();
46 StatusCode finalize();
47
48private:
49 StatusCode recordCollection();
50 StatusCode recordODCollection();
51 StatusCode mapping();
52 StatusCode ChanPlot(uint32_t pot_n, uint32_t iLayer, uint32_t MarChan, uint32_t &chan_i, uint32_t &chan_j);
53
54
56
57 int m_nEvents{};
58
59 int m_mbID{};
60 int m_pmfID{};
61 int m_fibID{};
62
64 int m_MapChan{};
65
66 int m_pot{};
67 int m_side{};
68 int m_plate{};
69 int m_fiber{};
70
71 int m_ODpot{};
72 int m_ODside{};
73 int m_ODplate{};
74 int m_ODfiber{};
75
76
77 int m_maroc2fiber[8][20][64]{};
78 int m_maroc2mapmt[8][20][64]{};
79 int m_mapmt2maroc[8][20][64]{};
80
81 int m_pmf2layer[8][23]{};
82
83 int m_OD_pmf2layer[8][4]{};
84 int m_OD_pmf_maroc2fiber[8][4][64]{};
85 int m_OD_pmf_maroc2side[8][4][64]{};
86
87 int m_mb2det[8]{};
88
89
90
93
94 TH1F* m_act_lay_h[8]{};
95 TH1F* m_hit_lay_h[8]{};
97 uint16_t m_charge_1[8]{}, m_charge_2[8]{};
98 std::vector<bool> m_trigger_pattern;
99 bool m_pot_b[8]{}, m_layer_b[8][20]{}, m_fiber_b[8][20][64]{}, m_trigger_pattern_b[8][16]{};
100 Int_t m_n_hits_lay[8][20]{};
101 Int_t m_event_no{};
102 TTree* m_tree{};
103 TFile *m_rootOutput{};
105
106
107 Int_t m_pmf_chan_hit_counter[8][23][64]{};
108 Int_t m_hit_counter[8]{};
109
110
113
116
119
120 std::ifstream m_inChan;
121 std::ifstream m_inPMF;
122 std::ifstream m_inOD;
123 std::ifstream m_inDet;
124
125 std::string m_mapname;
126 std::stringstream m_s;
129 std::string m_CanName;
130
132 uint32_t m_chan_i{}, m_chan_j{};
133
134private:
136
137private:
138 std::ofstream m_toFile;
139};
140
141
142#endif
bool m_fiber_b[8][20][64]
StatusCode mapping()
int m_pmf2layer[8][23]
StatusCode recordODCollection()
int m_OD_pmf_maroc2fiber[8][4][64]
uint16_t m_charge_2[8]
TH1F * m_act_lay_h[8]
std::string m_h_loc3
std::string m_CanName
StatusCode execute()
int m_mapmt2maroc[8][20][64]
uint32_t m_lumi_block_old
std::string m_h_loc1
std::string m_ALFA_RawDataCollectionKey
std::ifstream m_inDet
std::string m_mapname
bool m_trigger_pattern_b[8][16]
std::ifstream m_inPMF
ALFA_Digit * m_digitObject
std::ifstream m_inChan
ALFA_DigitCollection * m_digitCollection
std::string m_h_name3
std::ofstream m_toFile
ALFA_ODDigit * m_ODdigitObject
std::stringstream m_s
ALFA_Raw2Digit(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode recordCollection()
ALFA_ODDigitCollection * m_ODdigitCollection
TH2D * m_All_Trigger_norm
std::string m_key_ODDigitCollection
Int_t m_hit_counter[8]
std::ifstream m_inOD
uint16_t m_charge_1[8]
StatusCode finalize()
uint32_t m_lumi_block
std::string m_key_DigitCollection
int m_OD_pmf_maroc2side[8][4][64]
Int_t m_pmf_chan_hit_counter[8][23][64]
StatusCode initialize()
int m_maroc2fiber[8][20][64]
std::vector< bool > m_trigger_pattern
int m_maroc2mapmt[8][20][64]
StatusCode ChanPlot(uint32_t pot_n, uint32_t iLayer, uint32_t MarChan, uint32_t &chan_i, uint32_t &chan_j)
TH1F * m_hit_lay_h[8]
Int_t m_n_hits_lay[8][20]
std::string m_h_name2
std::string m_h_name1
int m_OD_pmf2layer[8][4]
std::string m_h_loc2
bool m_layer_b[8][20]
TString m_rootOutputFileName
std::string m_strMeasuredDataType
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)