16#ifndef TPC_SimpleEventDisplayGUI_H_
17#define TPC_SimpleEventDisplayGUI_H_
61 void update(TString clist);
69 void next(
int eventNumber = -1);
75 void runSimpleEventDisplay(std::string_view fileInfo, std::string_view pedestalFile =
"",
int firstTimeBin = 0,
int lastTimeBin = 500,
int nTimeBinsPerCall = 500, uint32_t
verbosity = 0, uint32_t debugLevel = 0,
int selectedSector = 0,
bool showSides = 1);
82 void startGUI(
int maxTimeBins = 114048);
94 int mOldHooverdSector = -1;
95 int mSelectedSector = 0;
96 int mMaxEvents = 100000000;
97 bool mShowSides =
true;
100 bool mNextEvent =
false;
101 bool mProcessingEvent =
false;
102 bool mUpdatingDigits =
false;
104 bool mDataAvailable =
false;
107 TH2F* mHMaxA =
nullptr;
108 TH2F* mHMaxC =
nullptr;
109 TH2F* mHMaxIROC =
nullptr;
110 TH2F* mHMaxOROC =
nullptr;
111 TH1* mHFFTO =
nullptr;
112 TH1* mHFFTI =
nullptr;
113 TH2F* mHOccupancyA =
nullptr;
114 TH2F* mHOccupancyC =
nullptr;
115 TH2F* mHOccupancyIROC =
nullptr;
116 TH2F* mHOccupancyOROC =
nullptr;
117 TH2F* mHPadTimeIROC =
nullptr;
118 TH2F* mHPadTimeOROC =
nullptr;
119 TH2Poly* mSectorPolyTimeBin =
nullptr;
120 TPolyMarker* mClustersIROC =
nullptr;
121 TPolyMarker* mClustersOROC =
nullptr;
122 TPolyMarker* mClustersRowPad =
nullptr;
124 TGCheckButton* mCheckSingleTB =
nullptr;
125 TGCheckButton* mCheckFFT =
nullptr;
126 TGCheckButton* mCheckOccupancy =
nullptr;
127 TGCheckButton* mCheckPadTime =
nullptr;
128 TGCheckButton* mCheckShowClusters =
nullptr;
129 static constexpr int NCheckClFlags = 5;
130 TGCheckButton* mCheckClFlags[NCheckClFlags] = {};
131 TGVButtonGroup* mFlagGroup =
nullptr;
132 TGTextEntry* mEventNumber =
nullptr;
133 TGTextEntry* mSignalThresholdValue =
nullptr;
134 TGNumberEntry* mSelTimeBin =
nullptr;
136 std::string mInputFileInfo{};
140 std::unique_ptr<o2::tpc::ClusterNative[]> mClusterBuffer;
143 TH1* getBinInfoXY(
int& binx,
int& biny,
float& bincx,
float& bincy);
145 void initOccupancyHists();
146 void deleteOccupancyHists();
148 void initPadTimeHists();
149 void deletePadTimeHists();
151 void initSingleTBHists();
152 void deleteSingleTBHists();
154 void fillClusters(Long64_t
entry);
156 ClassDefNV(SimpleEventDisplayGUI, 0);
Helper class to read the binary format of TPC ClusterNative.
Class of a TPC cluster in TPC-native coordinates (row, time)
A reader class for the raw cluster native data.
ClusterNativeAccess::ConstMCLabelContainerViewWithBuffer ConstMCLabelContainerViewWithBuffer
void fillHists(int type=0, HistogramType histogramType=MaxValues)
bool isProcessingEvent() const
void showClusters(int roc, int row)
void applySignalThreshold()
void selectSector(int sector)
bool isStopRequested() const
void setMode(RunMode mode)
@ Online
run online from decoded digits
@ Offline
run offline from file
void toggleSingleTimeBin()
void resetHists(int type, HistogramType histogramType)
void runSimpleEventDisplay(std::string_view fileInfo, std::string_view pedestalFile="", int firstTimeBin=0, int lastTimeBin=500, int nTimeBinsPerCall=500, uint32_t verbosity=0, uint32_t debugLevel=0, int selectedSector=0, bool showSides=1)
void resetUpdatingDigits()
void setDataAvailable(bool available)
void drawPadSignal(int event, int x, int y, TObject *o)
int FindROCFromXY(const float x, const float y, const int side)
void startGUI(int maxTimeBins=114048)
void resetNextEventReqested()
void selectSectorExec(int event, int x, int y, TObject *o)
void next(int eventNumber=-1)
void update(TString clist)
bool isNextEventRequested() const
bool isWaitingForDigitUpdate() const
SimpleEventDisplay & getEventDisplay()
Base of a simple event display for digits.
GLint GLint GLsizei GLint GLenum GLenum type
Global TPC definitions and constants.