Belle II Software development
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/datastore/StoreArray.h>
13
14#include <cdc/dataobjects/CDCHit.h>
15#include <cdc/dataobjects/CDCRawHit.h>
16
17#include <mdst/dataobjects/TRGSummary.h>
18#include <mdst/dataobjects/SoftwareTriggerResult.h>
19#include <mdst/dataobjects/Track.h>
20
21#include <tracking/dataobjects/RecoTrack.h>
22#include <rawdata/dataobjects/RawCDC.h>
23
24#include <TH1F.h>
25#include <TH2F.h>
26
27namespace Belle2 {
32
36 class CDCDQMModule : public HistoModule {
37
38 public:
39
44
48 virtual ~CDCDQMModule();
49
54 void initialize() override;
55
60 void defineHisto() override;
61
66 void beginRun() override;
67
71 void event() override;
72
77 void endRun() override;
78
83 void terminate() override;
84
89 double getShiftedPhi(const ROOT::Math::XYZVector& position, const int& lay);
90
95 int findPhiBin(double phi, const int& lay);
96
97 protected:
98
105 std::string m_recoTrackArrayName = "" ;
107
110 bool m_adjustWireShift = true;
111 Long64_t m_nEvents = 0;
112 TH1F* m_hNEvents = nullptr;
113 TH1F* m_hOcc = nullptr;
114 TH2F* m_hADCBoard = nullptr;
115 TH2F* m_hADCLayer = nullptr;
116 TH2F* m_hTDC = nullptr;
117 TH2F* m_hHit = nullptr;
118 TH2F* m_hBit = nullptr;
119 TH1F* m_hPhi = nullptr;
120 TH2F* m_hPhiIndex = nullptr;
121 TH2F* m_hPhiEff = nullptr;
122 TH2F* m_hPhiHit = nullptr;
123 TH2F* m_hPhiNCDC = nullptr;
124 TH2F* m_hTrackingWireEff = nullptr;
125
126 };
127
129} // Belle2 namespace
std::string m_recoTrackArrayName
Belle2::RecoTrack StoreArray name.
StoreArray< RawCDC > m_rawCDCs
Input array for CDC Raw.
TH2F * m_hPhiNCDC
Histogram of track associated nCDCHits vs phi.
TH2F * m_hBit
Histogram of online databit removed.
void initialize() override
Initialize the Module.
int m_minHits
Minimum hits for processing.
TH2F * m_hADCLayer
Histogram of ADC with track associated hits for all layers (0-55)
int m_minNdf
Minimum track NDF for cdc dqm plots.
void event() override
Event processor.
CDCDQMModule()
Constructor.
StoreArray< CDCRawHit > m_cdcRawHits
CDC raw hits.
void endRun() override
End-of-run action.
TH2F * m_hPhiIndex
Histogram of cdc phi of different IP + skims tracks.
StoreObjPtr< TRGSummary > m_trgSummary
Trigger summary.
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.
TH2F * m_hTDC
Histogram of TDC with track associated hits for all boards (0-299)
TH2F * m_hADCBoard
Histogram of ADC with track associated hits for all boards (0-299)
TH2F * m_hPhiHit
Histogram of track associated hits in phi vs layer.
void beginRun() override
Called when entering a new run.
TH2F * m_hPhiEff
Histogram of cdc phi of tracking eff.
bool m_adjustWireShift
If true, gets the correct phi view of the boards.
TH1F * m_hPhi
Histogram of cdc phi of IP tracks.
StoreArray< CDCHit > m_cdcHits
CDC hits.
virtual ~CDCDQMModule()
Destructor.
TH1F * m_hOcc
Histogram of occupancy.
StoreArray< RecoTrack > m_RecoTracks
RecoTracks.
StoreArray< Track > m_Tracks
Tracks.
StoreObjPtr< SoftwareTriggerResult > m_TrgResult
Store array for Trigger selection.
TH2F * m_hHit
Histogram of Hits for all layers (0-55)
void defineHisto() override
Histogram definitions.
Long64_t m_nEvents
Number of events processed.
TH2F * m_hTrackingWireEff
Histogram of attached and expected CDC wires in layer.
HistoModule()
Constructor.
Definition HistoModule.h:32
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.