Belle II Software  release-06-00-14
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 
32  /* Destructor */
34 
35  private:
36 
38  void initialize() override final;
39  void beginRun() override final;
40  void event() override final;
41  void endRun() override final;
42  void terminate() override final;
43 
44  private:
45 
47  //TDirectory* m_oldDir;
48 
50 // TH1I* m_fHitMapCountsFlag;
52 // TH1I* m_fHitMapClCountsFlag;
54  TH1I* m_fFiredFlag = nullptr;
56  TH1I* m_fClustersFlag = nullptr;
58  TH1I* m_fStartRowFlag = nullptr;
60  TH1I* m_fChargStartRowFlag = nullptr;
62  TH1I* m_fStartRowCountFlag = nullptr;
64  TH1I* m_fClusterChargeFlag = nullptr;
66  TH1I* m_fPixelSignalFlag = nullptr;
68  TH1I* m_fClusterSizeUFlag = nullptr;
70  TH1I* m_fClusterSizeVFlag = nullptr;
72  TH1I* m_fClusterSizeUVFlag = nullptr;
73 
74  // Name the histograms, we have to find them anyway every event
76 // std::string m_hitMapCounts;
78 // std::string m_hitMapClCounts;
79 
81  std::vector <std::string> m_fired;
83  std::vector <std::string> m_clusters;
85  std::vector <std::string> m_startRow;
87  std::vector <std::string> m_chargStartRow;
89  std::vector <std::string> m_startRowCount;
91  std::vector <std::string> m_clusterCharge;
93  std::vector <std::string> m_pixelSignal;
95  std::vector <std::string> m_clusterSizeU;
97  std::vector <std::string> m_clusterSizeV;
99  std::vector <std::string> m_clusterSizeUV;
100 
101 
103  std::vector <std::string> m_ref_fired;
105  std::vector <std::string> m_ref_clusters;
107  std::vector <std::string> m_ref_startRow;
109  std::vector <std::string> m_ref_chargStartRow;
111  std::vector <std::string> m_ref_startRowCount;
113  std::vector <std::string> m_ref_clusterCharge;
115  std::vector <std::string> m_ref_pixelSignal;
117  std::vector <std::string> m_ref_clusterSizeU;
119  std::vector <std::string> m_ref_clusterSizeV;
121  std::vector <std::string> m_ref_clusterSizeUV;
122 
124  //int m_nPixels;
126  int c_nVXDLayers = 0;
128  int c_nPXDLayers = 0;
130  int c_nSVDLayers = 0;
134  int c_lastVXDLayer = 0;
138  int c_lastPXDLayer = 0;
142  int c_lastSVDLayer = 0;
144  int c_nPXDSensors = 0;
145 
152  void getIDsFromIndex(const int Index, int& Layer, int& Ladder, int& Sensor) const;
178  int SetFlag(int Type, int bin, double* pars, double ratio, const std::string& name_hist, const std::string& name_refhist,
179  TH1I* flaghist);
205 // int SetFlag(int Type, int bin, double* pars, double ratio, TH1I* hist, TH1I* refhist, TH1I* flaghist);
206 
208  std::string m_refFileName;
210  TFile* m_refFile = nullptr;
211 
217  TH1* GetHisto(TString histoname);
218 
219  };
220 
222 }
223 
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
Module functions.
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 the core of the module.
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.