Belle II Software  release-06-01-15
DQMHistAnalysisPXDER.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <dqm/analysis/modules/DQMHistAnalysis.h>
12 
13 #include "TFile.h"
14 #include "TH1I.h"
15 #include "TH1F.h"
16 
17 #include <vector>
18 
19 namespace Belle2 {
27 
28  public:
29 
34 
39 
43  void initialize() override final;
44 
48  void beginRun() override final;
49 
53  void event() override final;
54 
58  void endRun() override final;
59 
63  void terminate() override final;
64 
65  private:
66 
68  //TDirectory* m_oldDir;
69 
71 // TH1I* m_fHitMapCountsFlag;
73 // TH1I* m_fHitMapClCountsFlag;
75  TH1I* m_fFiredFlag = nullptr;
77  TH1I* m_fClustersFlag = nullptr;
79  TH1I* m_fStartRowFlag = nullptr;
81  TH1I* m_fChargStartRowFlag = nullptr;
83  TH1I* m_fStartRowCountFlag = nullptr;
85  TH1I* m_fClusterChargeFlag = nullptr;
87  TH1I* m_fPixelSignalFlag = nullptr;
89  TH1I* m_fClusterSizeUFlag = nullptr;
91  TH1I* m_fClusterSizeVFlag = nullptr;
93  TH1I* m_fClusterSizeUVFlag = nullptr;
94 
95  // Name the histograms, we have to find them anyway every event
97 // std::string m_hitMapCounts;
99 // std::string m_hitMapClCounts;
100 
102  std::vector <std::string> m_fired;
104  std::vector <std::string> m_clusters;
106  std::vector <std::string> m_startRow;
108  std::vector <std::string> m_chargStartRow;
110  std::vector <std::string> m_startRowCount;
112  std::vector <std::string> m_clusterCharge;
114  std::vector <std::string> m_pixelSignal;
116  std::vector <std::string> m_clusterSizeU;
118  std::vector <std::string> m_clusterSizeV;
120  std::vector <std::string> m_clusterSizeUV;
121 
122 
124  std::vector <std::string> m_ref_fired;
126  std::vector <std::string> m_ref_clusters;
128  std::vector <std::string> m_ref_startRow;
130  std::vector <std::string> m_ref_chargStartRow;
132  std::vector <std::string> m_ref_startRowCount;
134  std::vector <std::string> m_ref_clusterCharge;
136  std::vector <std::string> m_ref_pixelSignal;
138  std::vector <std::string> m_ref_clusterSizeU;
140  std::vector <std::string> m_ref_clusterSizeV;
142  std::vector <std::string> m_ref_clusterSizeUV;
143 
145  //int m_nPixels;
147  int c_nVXDLayers = 0;
149  int c_nPXDLayers = 0;
151  int c_nSVDLayers = 0;
155  int c_lastVXDLayer = 0;
159  int c_lastPXDLayer = 0;
163  int c_lastSVDLayer = 0;
165  int c_nPXDSensors = 0;
166 
173  void getIDsFromIndex(const int Index, int& Layer, int& Ladder, int& Sensor) const;
199  int SetFlag(int Type, int bin, double* pars, double ratio, const std::string& name_hist, const std::string& name_refhist,
200  TH1I* flaghist);
226 // int SetFlag(int Type, int bin, double* pars, double ratio, TH1I* hist, TH1I* refhist, TH1I* flaghist);
227 
229  std::string m_refFileName;
231  TFile* m_refFile = nullptr;
232 
238  TH1* GetHisto(TString histoname);
239 
240  };
241 
243 }
244 
The base class for the histogram analysis module.
int c_nPXDLayers
Number of PXD layers on Belle II.
int SetFlag(int Type, int bin, double *pars, double ratio, const std::string &name_hist, const std::string &name_refhist, TH1I *flaghist)
Function return flag histogram filled based on condition from TH1F source.
std::string m_refFileName
Function return flag histogram filled based on condition from TH1I source.
void initialize() override final
Initializer.
std::vector< std::string > m_chargStartRow
Cluster seed charge by distance from the start row.
std::vector< std::string > m_startRow
Start row distribution.
std::vector< std::string > m_ref_clusterCharge
Charge of clusters.
TH1I * m_fClusterSizeUFlag
Flags of u cluster size.
int c_firstVXDLayer
First VXD layer on Belle II.
std::vector< std::string > m_ref_clusterSizeV
v cluster size
int c_lastVXDLayer
Last VXD layer on Belle II.
std::vector< std::string > m_clusterSizeU
u cluster size
TH1I * m_fPixelSignalFlag
Flags of Charge of pixels.
std::vector< std::string > m_ref_startRow
Start row distribution.
int c_lastPXDLayer
Last PXD layer on Belle II.
std::vector< std::string > m_ref_clusterSizeU
u cluster size
std::vector< std::string > m_clusters
Clusters per event.
std::vector< std::string > m_ref_startRowCount
counter for Cluster seed charge by distance from the start row
TH1I * m_fStartRowFlag
Flags of Start row distribution.
TH1I * m_fClusterSizeUVFlag
Flags of Cluster size.
std::vector< std::string > m_clusterSizeUV
Cluster size.
int c_firstPXDLayer
First PXD layer on Belle II.
void terminate() override final
This method is called at the end of the event processing.
TH1I * m_fStartRowCountFlag
Flags of counter for Cluster seed charge by distance from the start row.
TH1I * m_fChargStartRowFlag
Flags of Cluster seed charge by distance from the start row.
void event() override final
This method is called for each event.
TH1I * m_fClusterSizeVFlag
Flags of v cluster size.
TH1I * m_fClustersFlag
Flags of Clusters per event.
std::vector< std::string > m_startRowCount
counter for Cluster seed charge by distance from the start row
std::vector< std::string > m_clusterSizeV
v cluster size
std::vector< std::string > m_pixelSignal
Charge of pixels.
TH1 * GetHisto(TString histoname)
Get a histogram by name (DEPRECATED), better use function from base class!
void endRun() override final
This method is called if the current run ends.
std::vector< std::string > m_ref_clusterSizeUV
Cluster size.
std::vector< std::string > m_ref_clusters
Clusters per event.
void beginRun() override final
Called when entering a new run.
TH1I * m_fClusterChargeFlag
Flags of Charge of clusters.
std::vector< std::string > m_fired
Hitmaps of Digits.
TH1I * m_fFiredFlag
Basic Directory in output file.
std::vector< std::string > m_ref_chargStartRow
Cluster seed charge by distance from the start row.
std::vector< std::string > m_ref_pixelSignal
Charge of pixels.
int c_nPXDSensors
Number of PXD sensors on Belle II.
std::vector< std::string > m_clusterCharge
Charge of clusters.
void getIDsFromIndex(const int Index, int &Layer, int &Ladder, int &Sensor) const
Function return index of sensor in plots.
int c_nVXDLayers
Number of pixels on PXD v direction.
std::vector< std::string > m_ref_fired
Fired pixels per event.
int c_firstSVDLayer
First SVD layer on Belle II.
int c_nSVDLayers
Number of SVD layers on Belle II.
int c_lastSVDLayer
Last SVD layer on Belle II.
TFile * m_refFile
The pointer to the reference file.
std::map< Digit, DigitValue > Sensor
Map of all hits in one Sensor.
Abstract base class for different kinds of events.