BmnRoot
Loading...
Searching...
No Matches
BmnDecoder.h
Go to the documentation of this file.
1#ifndef BMNDECODER_H
2#define BMNDECODER_H 1
3
4#pragma GCC system_header
5#include <deque>
6#include <fstream>
7#include <map>
8#include <vector>
9// Boost
10#include <boost/property_tree/json_parser.hpp>
11#include <boost/property_tree/ptree.hpp>
12// ROOT
13#include "TClonesArray.h"
14#include "TFile.h"
15#include "TPRegexp.h"
16#include "TString.h"
17#include "TTimeStamp.h"
18#include "TTree.h"
19// FairRoot
20#include "FairRootManager.h"
21// BmnRoot
22#include "BmnAdcQA.h"
23#include "BmnCscRaw2Digit.h"
24#include "BmnDchRaw2Digit.h"
25#include "BmnECALRaw2Digit.h"
26#include "BmnEventHeader.h"
27#include "BmnFHCalRaw2Digit.h"
28#include "BmnGemRaw2Digit.h"
29#include "BmnHgndRaw2Digit.h"
30#include "BmnHodoRaw2Digit.h"
31#include "BmnMetadataRaw.h"
32#include "BmnMscRaw2Digit.h"
33#include "BmnMwpcRaw2Digit.h"
34#include "BmnNdetRaw2Digit.h"
35#include "BmnScWallRaw2Digit.h"
36#include "BmnSiBTRaw2Digit.h"
37#include "BmnSiliconRaw2Digit.h"
38#include "BmnTask.h"
39#include "BmnTof1Raw2Digit.h"
40// #include "BmnTof2Raw2DigitNew.h"
41#include "BmnTof701Raw2Digit.h"
42#include "BmnTrigRaw2Digit.h"
43#include "BmnVspRaw2Digit.h"
44#include "BmnZDCRaw2Digit.h"
45#include "DigiArrays.h"
46/********************************************************/
47// wait limit for input data (ms)
48#define WAIT_LIMIT 40000000
49#define UNKNOWN_RUNID 1000000
50// Debug ADC processor
51// #define ADC_QA true
52
53using std::map;
54using std::vector;
55namespace pt = boost::property_tree;
56
58
59class BmnDecoder : public BmnTask
60{
61 public:
62 BmnDecoder(TString file = "", TString outfile = "", ULong_t nEvents = 0, ULong_t period = 8);
63 virtual ~BmnDecoder();
64
65 InitStatus Init();
66 InitStatus ReInit();
67 void Exec(Option_t* opt);
68 void AssignInputs();
69 // void AssignInputs(std::function<TObject*(TString) > branch_assignment_fun);
70 void InitMappers(std::function<void(TString, TObject*)> branch_reg_fun);
71 void ClearDigiArrays();
74 void FillAdcQa();
75 void SaveAdcQa();
76 void FillProfiles();
77 void FillNoisyChannels();
85
87 {
88 // fDigiTree->GetEntry(GetEventId());
89 DigiArrays d; // = new DigiArrays();
90 d.silicon = silicon;
91 d.gem = gem;
92 d.csc = csc;
93 d.vsp = vsp;
94 d.tof400 = tof400;
95 d.tof700 = tof700;
96 d.tof701 = tof701;
97 d.zdc = zdc;
98 d.scwall = scwall;
99 d.fhcal = fhcal;
100 d.hodo = hodo;
101 d.ndet = ndet;
102 d.hgnd = hgnd;
103 d.ecal = ecal;
104 d.dch = dch;
105 d.mwpc = mwpc;
106 d.sibt = sibt;
107 d.msc = msc_copy;
108 d.header = eventHeader;
109 if (fTrigMapper)
110 d.trigAr = fTrigMapper->GetTrigArrays();
111 return d;
112 }
113
114 void SetRawTree(TTree* tree) { fRawTree = tree; }
115
116 void SetRawTreeSpills(TTree* tree) { fRawTreeSpills = tree; }
117
118 TTree* GetDigiTree() { return fDigiTree; }
119
120 void SetTOF700ReferenceRun(Int_t n) { fTOF700ReferenceRun = n; }
121
122 void SetTOF700ReferenceChamber(Int_t n) { fTOF700ReferenceChamber = n; }
123
124 void SetRunId(UInt_t v) { fRunId = v; }
125
126 void SetPeriodId(UInt_t v) { fPeriodId = v; }
127
128 void SetApplyThreshold(bool b) { fApplyThreshold = b; }
129
130 unordered_map<UInt_t, Long64_t> GetTimeShifts() { return fTimeShifts; }
131
132 UInt_t GetRunId() const { return fRunId; }
133
134 UInt_t GetPeriodId() const { return fPeriodId; }
135
136 UInt_t GetNevents() const { return fNTotalEvents; }
137
138 UInt_t GetEventId() const { return fEventId; }
139
140 TTimeStamp GetRunStartTime() const { return fRunStartTime; }
141
142 TTimeStamp GetRunEndTime() const { return fRunEndTime; }
143
144 // BmnTof2Raw2DigitNew* GetTof700Mapper() { return fTof700Mapper; }
145
146 BmnZDCRaw2Digit* GetZDCMapper() { return fZDCMapper; }
147
148 BmnScWallRaw2Digit* GetScWallMapper() { return fScWallMapper; }
149
150 BmnFHCalRaw2Digit* GetFHCalMapper() { return fFHCalMapper; }
151
152 BmnHodoRaw2Digit* GetHodoMapper() { return fHodoMapper; }
153
154 BmnNdetRaw2Digit* GetNdetMapper() { return fNdetMapper; }
155
156 BmnHgndRaw2Digit* GetHgndMapper() { return fHgndMapper; }
157
158 BmnECALRaw2Digit* GetECALMapper() { return fECALMapper; }
159
160 void SetTrigPlaceMapping(TString map) { fTrigPlaceMapFileName = map; }
161
162 void SetSiliconMapping(TString map) { fSiliconMapFileName = map; }
163
164 void SetSiBTMapping(TString map) { fSiBTMapFileName = map; }
165
166 void SetCSCMapping(TString map) { fCscMapFileName = map; }
167
168 void SetTrigChannelMapping(TString file) { fTrigChannelMapFileName = file; }
169
170 void SetDchMapping(TString map) { fDchMapFileName = map; }
171
172 void SetMwpcMapping(TString map) { fMwpcMapFileName = map; }
173
174 void SetGemMapping(TString map) { fGemMapFileName = map; }
175
176 void SetVspMapping(TString map) { fVspMapFileName = map; }
177
178 void SetTof400Mapping(TString PlaceMap, TString StripMap)
179 {
180 fTof400PlaceMapFileName = PlaceMap;
181 fTof400StripMapFileName = StripMap;
182 }
183
184 void SetTof701Mapping(TString PlaceMap, TString StripMap)
185 {
186 fTof701PlaceMapFileName = PlaceMap;
187 fTof701StripMapFileName = StripMap;
188 }
189
190 void SetTof700Mapping(TString map) { fTof700MapFileName = map; }
191
192 void SetTof700Geom(TString geom) { fTof700GeomFileName = geom; }
193
194 // Legacy
195 // void SetTof700SlewingReference(Int_t chamber, Int_t refrun, Int_t refchamber);
196
197 void SetZDCMapping(TString map) { fZDCMapFileName = map; }
198
199 void SetZDCCalibration(TString cal) { fZDCCalibrationFileName = cal; }
200
201 void SetScWallMapping(TString map) { fScWallMapFileName = map; }
202
203 void SetScWallCalibration(TString cal) { fScWallCalibrationFileName = cal; }
204
205 void SetFHCalMapping(TString map) { fFHCalMapFileName = map; }
206
207 void SetFHCalCalibration(TString cal) { fFHCalCalibrationFileName = cal; }
208
209 void SetHodoMapping(TString map) { fHodoMapFileName = map; }
210
211 void SetHodoCalibration(TString cal) { fHodoCalibrationFileName = cal; }
212
213 void SetNdetMapping(TString map) { fNdetMapFileName = map; }
214
215 void SetNdetCalibration(TString cal) { fNdetCalibrationFileName = cal; }
216
217 void SetHgndMapping(TString map) { fHgndMapFileName = map; }
218
219 void SetHgndCalibration(TString cal) { fHgndCalibrationFileName = cal; }
220
221 void SetECALMapping(TString map) { fECALMapFileName = map; }
222
223 void SetECALCalibration(TString cal) { fECALCalibrationFileName = cal; }
224
225 void SetMSCMapping(TString map) { fMSCMapFileName = map; }
226
227 TString GetRootFileName() { return fRootFileName; }
228
229 void SetDetectorSetup(std::map<DetectorId, bool> setup) { fDetectorSetup = setup; }
230
231 void SetEvForPedestals(UInt_t v) { fEvForPedestals = v; }
232
233 UInt_t GetEvForPedestals() { return fEvForPedestals; }
234
235 void SetBmnSetup(BmnSetup v) { fBmnSetup = v; }
236
237 BmnSetup GetBmnSetup() const { return fBmnSetup; }
238
239 void SetVerbose(Int_t v) { fVerbose = v; }
240
241 Int_t GetVerbose() const { return fVerbose; }
242
243 void SetUseCalibFile(bool v) { fUseCalibFile = v; }
244
245 bool GetUseCalibFile() const { return fUseCalibFile; }
246
247 void SetSaveOutput(bool v) { fSaveOutput = v; }
248
249 bool GetSaveOutput() const { return fSaveOutput; }
250
251 void SetTaskMode(bool v = true) { isTaskMode = v; }
252
253 bool GetTaskMode() const { return isTaskMode; }
254
255 /***
256 Set forward mode (without intermediate raw root file)
257 */
258 void SetForwardMode(bool v = true) { isForwardMode = v; }
259
260 bool GetForwardMode() const { return isForwardMode; }
261
262 UInt_t GetBoundaryRun(UInt_t nSmpl)
263 {
264 // format for SILICON data was changed during March 2017 seance (run 1542)
265 // format for GEM was changed after March 2017 seance (run 1992)
266 // so we have to use this crutch.
267 return (nSmpl == 128) ? 1542 : 1992;
268 }
269
270 void SetRawRootFile(TString filename) { fRootFileName = filename; }
271
272 void SetDigiRootFile(TString filename) { fDigiFileName = filename; }
273
274 TString GetDigiFileName() { return fDigiFileName; }
275
276 void SetDecoderConfigFileName(string FileName) { fDecoderConfigFileName = FileName; }
277
278 Int_t GetRunIdFromFile(TString name);
279 TString GetSubNameAfterRunId(TString name);
280 void* GetMapper(DetectorId id);
281
282 private:
283 const TTimeStamp TimeZero = TTimeStamp(time_t(0), 0);
284 Double_t workTime_cpu = 0.0;
285 Double_t workTime_real = 0.0;
286 // constexpr static const TPRegexp re_data = ".*\\w+_\\w+_\\w+_(\\d+)([^/]*)\\.data";
287 // constexpr static const TPRegexp re_raw = ".*\\w+_run(\\d+)([^/]*)_raw\\.root";
288
289 std::map<DetectorId, bool> fDetectorSetup;
290 pt::ptree conf;
291 bool isSpillStart;
292 UInt_t fSpillCntr;
293 bool fApplyThreshold;
294 bool isTaskMode;
295 bool isForwardMode;
296
297 Int_t fTOF700ReferenceRun;
298 Int_t fTOF700ReferenceChamber;
299
300 UInt_t fRunId;
301 UInt_t fPeriodId;
302 UInt_t fEventId;
303 ULong_t fNTotalEvents;
304 ULong_t fNSignalEvents;
305 UInt_t fStartEventId;
306 // for event
307 Long64_t fTime_s;
308 Long64_t fTime_ns;
309 // for run
310 TTimeStamp fRunStartTime;
311 TTimeStamp fRunEndTime;
312
313 TTree* fRawTree;
314 TTree* fRawTreeSpills;
315 // TTree* fRawTreeSpillsT0;
316 TTree* fDigiTree;
317 TTree* fDigiTreeSpills;
318 string fDecoderConfigFileName;
319 TString fRootFileName;
320 TString fDigiFileName;
321 TString fCalibFileName;
322 TString fDigiRunHdrName;
323 TString fDchMapFileName;
324 TString fMwpcMapFileName;
325 TString fGemMapFileName;
326 TString fVspMapFileName;
327 TString fTof400PlaceMapFileName;
328 TString fTof400StripMapFileName;
329 TString fTof701PlaceMapFileName;
330 TString fTof701StripMapFileName;
331 TString fTof700MapFileName;
332 TString fTof700GeomFileName;
333 TString fZDCMapFileName;
334 TString fZDCCalibrationFileName;
335 TString fScWallMapFileName;
336 TString fScWallCalibrationFileName;
337 TString fFHCalMapFileName;
338 TString fFHCalCalibrationFileName;
339 TString fHodoMapFileName;
340 TString fHodoCalibrationFileName;
341 TString fNdetMapFileName;
342 TString fNdetCalibrationFileName;
343 TString fHgndMapFileName;
344 TString fHgndCalibrationFileName;
345 TString fECALMapFileName;
346 TString fECALCalibrationFileName;
347 TString fMSCMapFileName;
348 TString fSiliconMapFileName;
349 TString fSiBTMapFileName;
350 TString fCscMapFileName;
351 TString fTrigPlaceMapFileName;
352 TString fTrigChannelMapFileName;
353 TString fSubName;
354 TString fRawRunHdrName;
355 TString fMetadataName;
356
357 TFile* fRootFileIn;
358 TFile* fRootFileOut;
359 TFile* fDigiFileOut;
360 TFile* fCalibFile;
361
362 // DAQ arrays
363 TClonesArray* sync;
364 TClonesArray* adc32; // gem & csc
365 TClonesArray* adc64; // SiBT
366 TClonesArray* adc128; // FSD
367 TClonesArray* adc; // zdc & ecal & scwall & fhcal
368 TClonesArray* vsp_raw;
369 TClonesArray* hrb;
370 TClonesArray* tdc;
371 TClonesArray* tqdc_tdc;
372 TClonesArray* tqdc_adc;
373 TClonesArray* tdc_hgnd;
374 BmnEventHeader* eventHeaderDAQ;
375 DigiRunHeader* rawRunHeader;
376 BmnMetadataRaw* metadata;
377 // Spill tree arrays
378 TClonesArray* msc;
379 TClonesArray* t0raw;
380
381 // Digi arrays
382 TClonesArray* silicon;
383 TClonesArray* sibt;
384 TClonesArray* gem;
385 TClonesArray* csc;
386 TClonesArray* vsp;
387 TClonesArray* tof400;
388 TClonesArray* tof700;
389 TClonesArray* tof701;
390 TClonesArray* zdc;
391 TClonesArray* scwall;
392 TClonesArray* fhcal;
393 TClonesArray* hodo;
394 TClonesArray* ndet;
395 TClonesArray* hgnd;
396 TClonesArray* ecal;
397 TClonesArray* dch;
398 TClonesArray* mwpc;
399 TClonesArray* msc_copy;
400 TClonesArray* t0_copy;
401
402 // header array
403 BmnEventHeader* eventHeader;
404 BmnSpillHeader* spillHeader;
405
406 Long64_t NRawTreeEvents;
407 Long64_t NRawTreeSpills;
408 Long64_t fMaxEvent;
409
410 BmnCscRaw2Digit* fCscMapper;
411 BmnGemRaw2Digit* fGemMapper;
412 BmnVspRaw2Digit* fVspMapper;
413 BmnSiliconRaw2Digit* fSiliconMapper;
414 BmnSiBTRaw2Digit* fSiBTMapper;
415 BmnDchRaw2Digit* fDchMapper;
416 BmnMwpcRaw2Digit* fMwpcMapper;
417 BmnTrigRaw2Digit* fTrigMapper;
418 BmnTof1Raw2Digit* fTof400Mapper;
419 // BmnTof2Raw2DigitNew* fTof700Mapper;
420 BmnTof701Raw2Digit* fTof701Mapper;
421 BmnZDCRaw2Digit* fZDCMapper;
422 BmnScWallRaw2Digit* fScWallMapper;
423 BmnFHCalRaw2Digit* fFHCalMapper;
424 BmnHodoRaw2Digit* fHodoMapper;
425 BmnNdetRaw2Digit* fNdetMapper;
426 BmnHgndRaw2Digit* fHgndMapper;
427 BmnECALRaw2Digit* fECALMapper;
428 BmnMscRaw2Digit* fMSCMapper;
429
430 BmnAdcQA* fFsdQa;
431 BmnAdcQA* fGemQa;
432 BmnAdcQA* fCscQa;
433
434 UInt_t nSpillEvents;
435 BmnEventType fCurEventType; // for decoder
436 BmnEventType fPrevEventType; // for decoder
437 BmnSetup fBmnSetup;
438 UInt_t fPedEvCntrBySpill;
439 UInt_t fPedEvCntr;
440 UInt_t fNoiseEvCntr;
441 UInt_t fEvForPedestals;
442 UInt_t fEvForNoiseCorr;
443 bool fPedEnough;
444 bool fNoiseEnough;
445 bool fUseCalibFile;
446 bool fSaveCalibFile;
447 bool fExportJsonBocks;
448 bool fSaveOutput;
449 UInt_t fT0Serial;
450
451 // Map to store pairs <Crate serial> - <crate time - T0 time>
452 unordered_map<UInt_t, Long64_t> fTimeShifts;
453 Long64_t fT0SyncTime; // ns
454 Double_t fT0Time; // ns
455 Double_t fT0Width; // ns
456 map<TTimeStamp, Int_t> leaps;
457 TTimeStamp utc_valid;
458 Int_t tai_utc_dif;
459 Int_t fVerbose;
460 map<TTimeStamp, BmnSpillInfo> fSpillMap;
461 map<uint32_t, uint32_t> _dfl_run_id;
462
463 // int refrun_tof700_slewing[60];
464 // int refchamber_tof700_slewing[60];
465 // int type_tof700_slewing[60];
466
467 template<typename BrType>
468 void Assignment_Fun(const TString name, BrType** ob, TTree* tree = nullptr)
469 {
470 if (isTaskMode) {
471 FairRootManager* frm = FairRootManager::Instance();
472 *ob = static_cast<BrType*>(frm->GetObject(name));
473 LOG(debug) << "Getting: " << name << " p: " << ob;
474 } else {
475 TBranch* b = tree->GetBranch(name);
476 // LOGF(debug, "branch dir: %p path: %s", (void*) b->GetDirectory(),
477 // b->GetDirectory()->GetPath());
478 auto brAddr = b->GetAddress();
479 if (brAddr) {
480 LOG(debug) << "Assigning branch " << b << " name " << name << " addr " << (void*)brAddr;
481 *ob = reinterpret_cast<BrType*>(*(reinterpret_cast<void**>(brAddr)));
482 } else {
483 tree->SetBranchAddress(name, ob);
484 LOG(debug) << " Set branch " << b << " name " << name << " addr " << (void*)*ob;
485 }
486 }
487 };
488
489 template<typename BrType>
490 void Register_Fun(const TString name, BrType** ob)
491 {
492 if (isTaskMode) {
493 FairRootManager* frm = FairRootManager::Instance();
494 frm->Register(name, name + "_dir", *ob, fSaveOutput);
495 } else {
496 TBranch* b = fDigiTree->Branch(name, ob);
497 LOGF(debug1, "Register branch %p : %s", (void*)b, name.Data());
498 }
499 };
500
501 BmnStatus InitUTCShift();
502 Int_t GetUTCShift(TTimeStamp t);
503 BmnStatus GetT0Info(Double_t& t0time, Double_t& t0width);
504 inline void FillWR(UInt_t iSerial, ULong64_t iEvent, Long64_t t_sec, Long64_t t_ns);
505 BmnStatus FillTimeShiftsMap();
506 BmnStatus LoadCalibFile(TString& FileName);
507 BmnStatus SaveCalibFile(TString& FileName);
508
509 void CopyDataToPedMap(UInt_t ev);
510 BmnStatus LoadConfig();
511
512 ClassDef(BmnDecoder, 2);
513};
514
515#endif
const Float_t d
Z-ccordinate of the first GEM-station.
Definition BmnMwpcHit.cxx:7
__m128 v
Definition P4_F32vec4.h:1
DetectorId
BmnStatus
Definition BmnEnums.h:24
BmnSetup
Definition BmnEnums.h:89
BmnEventType
Definition BmnEnums.h:69
void InitMappers(std::function< void(TString, TObject *)> branch_reg_fun)
UInt_t GetBoundaryRun(UInt_t nSmpl)
Definition BmnDecoder.h:262
void SetRawTree(TTree *tree)
Definition BmnDecoder.h:114
void SetApplyThreshold(bool b)
Definition BmnDecoder.h:128
Int_t GetVerbose() const
Definition BmnDecoder.h:241
BmnStatus DecodeOffline()
bool GetSaveOutput() const
Definition BmnDecoder.h:249
void SetVspMapping(TString map)
Definition BmnDecoder.h:176
TString GetSubNameAfterRunId(TString name)
void SetBmnSetup(BmnSetup v)
Definition BmnDecoder.h:235
void SetTOF700ReferenceRun(Int_t n)
Definition BmnDecoder.h:120
BmnStatus DecodeDataToDigiIterate()
void ConfigureStripMappers()
UInt_t GetPeriodId() const
Definition BmnDecoder.h:134
void SetRunId(UInt_t v)
Definition BmnDecoder.h:124
void SetHgndMapping(TString map)
Definition BmnDecoder.h:217
BmnNdetRaw2Digit * GetNdetMapper()
Definition BmnDecoder.h:154
void SetTof700Geom(TString geom)
Definition BmnDecoder.h:192
void SetRawRootFile(TString filename)
Definition BmnDecoder.h:270
void SetForwardMode(bool v=true)
Definition BmnDecoder.h:258
void SetFHCalCalibration(TString cal)
Definition BmnDecoder.h:207
void AssignInputs()
void SetHgndCalibration(TString cal)
Definition BmnDecoder.h:219
void ClearSpillDigiArrays()
UInt_t GetNevents() const
Definition BmnDecoder.h:136
void SetDetectorSetup(std::map< DetectorId, bool > setup)
Definition BmnDecoder.h:229
bool GetTaskMode() const
Definition BmnDecoder.h:253
void SetDigiRootFile(TString filename)
Definition BmnDecoder.h:272
UInt_t GetEvForPedestals()
Definition BmnDecoder.h:233
BmnSetup GetBmnSetup() const
Definition BmnDecoder.h:237
TString GetDigiFileName()
Definition BmnDecoder.h:274
void SetFHCalMapping(TString map)
Definition BmnDecoder.h:205
void SetMSCMapping(TString map)
Definition BmnDecoder.h:225
void SetECALCalibration(TString cal)
Definition BmnDecoder.h:223
TTree * GetDigiTree()
Definition BmnDecoder.h:118
void SetZDCCalibration(TString cal)
Definition BmnDecoder.h:199
void SetTof701Mapping(TString PlaceMap, TString StripMap)
Definition BmnDecoder.h:184
TTimeStamp GetRunEndTime() const
Definition BmnDecoder.h:142
void SetDecoderConfigFileName(string FileName)
Definition BmnDecoder.h:276
void SetPeriodId(UInt_t v)
Definition BmnDecoder.h:126
void FillProfiles()
void SetMwpcMapping(TString map)
Definition BmnDecoder.h:172
bool GetForwardMode() const
Definition BmnDecoder.h:260
void SetUseCalibFile(bool v)
Definition BmnDecoder.h:243
void SetECALMapping(TString map)
Definition BmnDecoder.h:221
BmnHgndRaw2Digit * GetHgndMapper()
Definition BmnDecoder.h:156
void * GetMapper(DetectorId id)
void SetNdetCalibration(TString cal)
Definition BmnDecoder.h:215
void SetTrigPlaceMapping(TString map)
Definition BmnDecoder.h:160
UInt_t GetRunId() const
Definition BmnDecoder.h:132
void SetGemMapping(TString map)
Definition BmnDecoder.h:174
void SetZDCMapping(TString map)
Definition BmnDecoder.h:197
BmnStatus DecodeDataToDigi()
virtual ~BmnDecoder()
BmnScWallRaw2Digit * GetScWallMapper()
Definition BmnDecoder.h:148
Int_t GetRunIdFromFile(TString name)
BmnStatus PreInitOffline()
void SetHodoCalibration(TString cal)
Definition BmnDecoder.h:211
void SaveAdcQa()
void FillNoisyChannels()
InitStatus ReInit()
unordered_map< UInt_t, Long64_t > GetTimeShifts()
Definition BmnDecoder.h:130
void SetTof700Mapping(TString map)
Definition BmnDecoder.h:190
BmnFHCalRaw2Digit * GetFHCalMapper()
Definition BmnDecoder.h:150
void SetRawTreeSpills(TTree *tree)
Definition BmnDecoder.h:116
void SetTrigChannelMapping(TString file)
Definition BmnDecoder.h:168
BmnHodoRaw2Digit * GetHodoMapper()
Definition BmnDecoder.h:152
void ClearDigiArrays()
void SetEvForPedestals(UInt_t v)
Definition BmnDecoder.h:231
void FillAdcQa()
void SetScWallMapping(TString map)
Definition BmnDecoder.h:201
void SetCSCMapping(TString map)
Definition BmnDecoder.h:166
void SetDchMapping(TString map)
Definition BmnDecoder.h:170
void Exec(Option_t *opt)
void RecalculatePedestals()
BmnStatus Finalize()
void SetSiliconMapping(TString map)
Definition BmnDecoder.h:162
BmnECALRaw2Digit * GetECALMapper()
Definition BmnDecoder.h:158
void SetVerbose(Int_t v)
Definition BmnDecoder.h:239
UInt_t GetEventId() const
Definition BmnDecoder.h:138
void SetTof400Mapping(TString PlaceMap, TString StripMap)
Definition BmnDecoder.h:178
void SetScWallCalibration(TString cal)
Definition BmnDecoder.h:203
BmnStatus InitDecoder()
void SetTOF700ReferenceChamber(Int_t n)
Definition BmnDecoder.h:122
TString GetRootFileName()
Definition BmnDecoder.h:227
void SetHodoMapping(TString map)
Definition BmnDecoder.h:209
void SetNdetMapping(TString map)
Definition BmnDecoder.h:213
void SetSaveOutput(bool v)
Definition BmnDecoder.h:247
void SetSiBTMapping(TString map)
Definition BmnDecoder.h:164
bool GetUseCalibFile() const
Definition BmnDecoder.h:245
BmnZDCRaw2Digit * GetZDCMapper()
Definition BmnDecoder.h:146
InitStatus Init()
DigiArrays GetDigiArraysObject()
Definition BmnDecoder.h:86
TTimeStamp GetRunStartTime() const
Definition BmnDecoder.h:140
void SetTaskMode(bool v=true)
Definition BmnDecoder.h:251
BmnTask.
Definition BmnTask.h:13
vector< TClonesArray * > * GetTrigArrays()
TClonesArray * silicon
Definition DigiArrays.h:125
a class to store JSON values
Definition json.hpp:17282
vector< Int_t > StripMap
basic_json<> json
default specialization
Definition json.hpp:3337
Definition setup.py:1
name
Definition setup.py:7