Belle II Software  release-08-02-06
CDCDQMModule.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 <framework/core/HistoModule.h>
12 #include <framework/core/Module.h>
13 #include <framework/datastore/StoreArray.h>
14 #include <framework/database/DBArray.h>
15 #include <framework/database/DBObjPtr.h>
16 
17 #include <cdc/dataobjects/CDCHit.h>
18 #include <cdc/dataobjects/CDCRawHit.h>
19 
20 #include <mdst/dataobjects/TRGSummary.h>
21 #include <mdst/dataobjects/SoftwareTriggerResult.h>
22 #include <mdst/dataobjects/Track.h>
23 #include <mdst/dataobjects/TrackFitResult.h>
24 #include <mdst/dataobjects/HitPatternVXD.h>
25 #include <mdst/dataobjects/HitPatternCDC.h>
26 
27 #include <tracking/dataobjects/RecoTrack.h>
28 #include <rawdata/dataobjects/RawCDC.h>
29 
30 #include <TH1F.h>
31 #include <TH2F.h>
32 
33 namespace Belle2 {
45  class CDCDQMModule : public HistoModule {
46 
47  public:
48 
52  CDCDQMModule();
53 
57  virtual ~CDCDQMModule();
58 
63  void initialize() override;
64 
69  void defineHisto() override;
70 
75  void beginRun() override;
76 
80  void event() override;
81 
86  void endRun() override;
87 
92  void terminate() override;
93 
98  double getShiftedPhi(const ROOT::Math::XYZVector& position, const int& lay);
99 
104  int findPhiBin(double phi, const int& lay);
105 
106  protected:
107 
114  std::string m_recoTrackArrayName = "" ;
117  int m_minHits;
118  bool m_adjustWireShift = true;
119  Long64_t m_nEvents = 0;
120  TH1F* m_hNEvents = nullptr;
121  TH1F* m_hOcc = nullptr;
122  TH2F* m_hADC = nullptr;
123  TH2F* m_hTDC = nullptr;
124  TH2F* m_hHit = nullptr;
125  TH2F* m_hBit = nullptr;
126  TH1F* m_hPhi = nullptr;
127  TH2F* m_hPhiIndex = nullptr;
128  TH2F* m_hPhiEff = nullptr;
129  TH2F* m_hPhiHit = nullptr;
130  TH2F* m_hPhiNCDC = nullptr;
131  TH2F* m_hTrackingWireEff = nullptr;
133  };
134 
136 } // Belle2 namespace
Make summary of data quality from reconstruction.
Definition: CDCDQMModule.h:45
std::string m_recoTrackArrayName
Belle2::RecoTrack StoreArray name.
Definition: CDCDQMModule.h:114
StoreArray< RawCDC > m_rawCDCs
Input array for CDC Raw.
Definition: CDCDQMModule.h:110
TH2F * m_hPhiNCDC
Histogram of track associated nCDCHits vs phi.
Definition: CDCDQMModule.h:130
TH2F * m_hBit
Histogram of online databit removed.
Definition: CDCDQMModule.h:125
void initialize() override
Initialize the Module.
Definition: CDCDQMModule.cc:81
int m_minHits
Minimum hits for processing.
Definition: CDCDQMModule.h:117
void event() override
Event processor.
CDCDQMModule()
Constructor.
Definition: CDCDQMModule.cc:36
StoreArray< CDCRawHit > m_cdcRawHits
CDC raw hits.
Definition: CDCDQMModule.h:109
void endRun() override
End-of-run action.
TH2F * m_hPhiIndex
Histogram of cdc phi of different IP + skims tracks.
Definition: CDCDQMModule.h:127
StoreObjPtr< TRGSummary > m_trgSummary
Trigger summary.
Definition: CDCDQMModule.h:111
void terminate() override
Termination action.
double getShiftedPhi(const ROOT::Math::XYZVector &position, const int &lay)
Compute and shift phi if it is stereo layer return [0,2pi].
int findPhiBin(double phi, const int &lay)
Find bin corresponds to a specific phi in a layer phi must be in [0,2pi].
TH1F * m_hNEvents
Histogram of num.
Definition: CDCDQMModule.h:120
TH2F * m_hTDC
Histogram of TDC with track associated hits for all boards (0-299)
Definition: CDCDQMModule.h:123
TH2F * m_hPhiHit
Histogram of track associated hits in phi vs layer
Definition: CDCDQMModule.h:129
void beginRun() override
Called when entering a new run.
Definition: CDCDQMModule.cc:94
TH2F * m_hPhiEff
Histogram of cdc phi of tracking eff.
Definition: CDCDQMModule.h:128
bool m_adjustWireShift
If true, gets the correct phi view of the boards.
Definition: CDCDQMModule.h:118
TH1F * m_hPhi
Histogram of cdc phi of IP tracks.
Definition: CDCDQMModule.h:126
StoreArray< CDCHit > m_cdcHits
CDC hits.
Definition: CDCDQMModule.h:108
virtual ~CDCDQMModule()
Destructor.
Definition: CDCDQMModule.cc:46
TH2F * m_hADC
Histogram of ADC with track associated hits for all boards (0-299)
Definition: CDCDQMModule.h:122
TH1F * m_hOcc
Histogram of occupancy.
Definition: CDCDQMModule.h:121
StoreArray< RecoTrack > m_RecoTracks
RecoTracks.
Definition: CDCDQMModule.h:113
StoreArray< Track > m_Tracks
Tracks.
Definition: CDCDQMModule.h:112
StoreObjPtr< SoftwareTriggerResult > m_TrgResult
Store array for Trigger selection.
Definition: CDCDQMModule.h:115
TH2F * m_hHit
Histogram of Hits for all layers (0-55)
Definition: CDCDQMModule.h:124
void defineHisto() override
Histogram definitions.
Definition: CDCDQMModule.cc:50
Long64_t m_nEvents
Number of events processed.
Definition: CDCDQMModule.h:119
TH2F * m_hTrackingWireEff
Histogram of attached and expected CDC wires in layer.
Definition: CDCDQMModule.h:131
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.