CbmRoot
Loading...
Searching...
No Matches
CbmMcbm2018MonitorTaskMuchLite.h
Go to the documentation of this file.
1/* Copyright (C) 2021 Variable Energy Cyclotron Centre, Kolkata
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Vikas Singhal [committer] */
4
5// -----------------------------------------------------------------------------
6// ----- -----
7// ----- CbmMcbm2018MonitorMuchLite -----
8// ----- Created 11/05/18 by P.-A. Loizeau -----
9// ----- Modified 07/12/18 by Ajit Kumar -----
10// ----- Modified 05/03/19 by Vikas Singhal -----
11// ----- -----
12// -----------------------------------------------------------------------------
13
14#ifndef CbmMcbm2018MonitorTaskMuchLite_H
15#define CbmMcbm2018MonitorTaskMuchLite_H
16
17#ifndef __CINT__
18#include "Timeslice.hpp"
19#endif
20
21// Data
22#include "StsXyterFinalHit.h"
23#include "StsXyterMessage.h"
24
25// CbmRoot
26#include "CbmHistManager.h"
28#include "CbmMcbmUnpack.h"
29
30// C++11
31#include <chrono>
32
33// C/C++
34#include <map>
35#include <set>
36#include <vector>
37
39//class CbmCern2017UnpackParSts;
40
42public:
44 //CbmMcbm2018MonitorTaskMuchLite(const CbmMcbm2018MonitorTaskMuchLite&) = delete;
45 //CbmMcbm2018MonitorTaskMuchLite operator=(const CbmMcbm2018MonitorTaskMuchLite&) = delete;
47
48
49 virtual Bool_t Init();
50 // #ifndef __CINT__
51 virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
52 //#endif
53 virtual void Reset();
54
55 virtual void Finish();
56
57 void SetParContainers();
58
59 Bool_t InitContainers();
60
61 Bool_t ReInitContainers();
62
63 void AddMsComponentToList(size_t component, UShort_t usDetectorId);
64 void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
65 // Algo settings setters
66 inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) { fbMonitorMode = bFlagIn; }
67 void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE);
68 //void SetMsOverlap(size_t uOverlapMsNb = 1) { fuNbOverMsPerTs = uOverlapMsNb; }
69 //size_t GetMsOverlap() { return fuNbOverMsPerTs; }
70
71 //void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize = 5);
72
73 //void ResetAllHistos();
74 //void SaveAllHistos(TString sFileName = "");
75 //void SaveHistos(TString sFileName = "");
76 inline void SetHistoryHistoSize(UInt_t inHistorySizeSec = 1800) { fuHistoryHistoSize = inHistorySizeSec; }
77 inline void SetHistoFileName(TString sFileName = "data/SetupHistos.root") { fsHistoFilename = sFileName; }
78 inline void SetSpillThreshold(UInt_t uCntLimit) { fuOffSpillCountLimit = uCntLimit; }
79
87 //void SetLongDurationLimits( UInt_t uDurationSeconds = 3600, UInt_t uBinSize = 1 );
88 //void SetEnableCoincidenceMaps( Bool_t bEnableCoincidenceMapsOn = kTRUE ) { fbEnableCoincidenceMaps = bEnableCoincidenceMapsOn; }
89 //void SetCoincidenceBorder( Double_t dCenterPos, Double_t dBorderVal );
90 //void SetFebChanCoincidenceLimitNs( Double_t dLimitIn ) { fdFebChanCoincidenceLimit = dLimitIn; }
91 //void UseNoiseLimitsSmx2LogicError( Bool_t bUseNoise = kTRUE ) { fbSmx2ErrorUseNoiseLevels = bUseNoise; }
92
93 void SetMuchMode(Bool_t bMuchMode = kTRUE) { fbMuchMode = bMuchMode; }
94
95 // void SetTimeBin( size_t uTimeBin );
96 // void UseDaqBuffer(
97 // Bool_t) {}; //Virtual function in Mother Class, Need to update accordingly. VS
98
100 void SetBinningFwFlag(Bool_t bEnable = kTRUE) { fbBinningFw = bEnable; }
101
102private:
103 // Parameters
104 // Control flags
108
110 Bool_t fbBinningFw = kFALSE;
111
112
114 UInt_t fuHistoryHistoSize = 3600;
117 uint64_t fulTsCounter;
119 //size_t fuNbOverMsPerTs;
121
122 //CbmMcbm2018MonitorTaskMuchLite(const CbmMcbm2018MonitorTaskMuchLite&);
123 //CbmMcbm2018MonitorTaskMuchLite operator=(const CbmMcbm2018MonitorTaskMuchLite&);
124
126
128};
129
130#endif // CbmMcbm2018MonitorTaskMuchLite_H
Histogram manager.
Bool_t fbBinningFw
=> Quick and dirty hack for binning FW!!!
void SetPrintMessage(Bool_t bPrintMessOn=kTRUE, stsxyter::MessagePrintMask ctrl=stsxyter::MessagePrintMask::msg_print_Hex|stsxyter::MessagePrintMask::msg_print_Human)
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
void SetBinningFwFlag(Bool_t bEnable=kTRUE)
=> Quick and dirty hack for binning FW!!!
UInt_t fuHistoryHistoSize
Histograms related variables.
void SetHistoryHistoSize(UInt_t inHistorySizeSec=1800)
CbmMcbm2018MonitorAlgoMuchLite * fMonitorAlgo
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
void SetHistoFileName(TString sFileName="data/SetupHistos.root")
MessagePrintMask
Printout control.