Belle II Software  release-08-02-06
SVDDQMClustersOnTrackModule.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 <map>
12 #include <framework/core/HistoModule.h>
13 #include <mdst/dataobjects/SoftwareTriggerResult.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 #include <framework/datastore/StoreArray.h>
16 #include <mdst/dataobjects/Track.h>
17 #include <svd/dataobjects/SVDEventInfo.h>
18 #include <framework/dataobjects/EventT0.h>
19 #include "TList.h"
20 #include "TH1F.h"
21 #include "TH2F.h"
22 
23 namespace Belle2 {
33  class SVDDQMClustersOnTrackModule : public HistoModule { // <- derived from HistoModule class
34 
35  public:
36 
41  /* Destructor */
42  virtual ~SVDDQMClustersOnTrackModule();
45 
47  void initialize() override final;
49  void terminate() override final;
51  void beginRun() override final;
53  void event() override final;
54 
56  void defineHisto() override final;
57 
58  private:
59 
61  bool m_desynchSVDTime = false;
62 
64  bool m_3Samples = false;
65 
66  std::string m_svdShaperDigitsName;
67  std::string m_svdRecoDigitsName;
68  std::string m_svdClustersName;
69  std::string m_svdEventInfoName;
75 
78 
80  bool m_skipRejectedEvents = true;
81 
82  int m_tb = -1;
85  TList* m_histoList = nullptr;
86 
88  int m_expNumber = 0;
90  int m_runNumber = 0;
91 
94 
96  TH1F** m_clsTrkCharge = nullptr;
97 
99  TH1F** m_clsTrkSNR = nullptr;
100 
102  TH1F** m_clsTrkChargeL3 = nullptr;
103 
105  TH1F** m_clsTrkSNRL3 = nullptr;
106 
108  TH1F* m_clsTrkChargeU3 = nullptr;
110  TH1F* m_clsTrkChargeV3 = nullptr;
112  TH1F* m_clsTrkChargeU456 = nullptr;
114  TH1F* m_clsTrkChargeV456 = nullptr;
115 
117  TH1F* m_clsTrkSNRU3 = nullptr;
119  TH1F* m_clsTrkSNRV3 = nullptr;
121  TH1F* m_clsTrkSNRU456 = nullptr;
123  TH1F* m_clsTrkSNRV456 = nullptr;
124 
126  TH1F* m_stripMaxBinUAll = nullptr;
128  TH1F* m_stripMaxBinVAll = nullptr;
129 
131  TH2F* m_clsTrkTimeUEvtT0 = nullptr;
133  TH2F* m_clsTrkTimeVEvtT0 = nullptr;
135  TH1F* m_clsTrkTimeU3 = nullptr;
137  TH1F* m_clsTrkTimeV3 = nullptr;
138 
140  TH1F* m_cls3SampleTrkTimeU3 = nullptr;
142  TH1F* m_cls3SampleTrkTimeV3 = nullptr;
143 
145  TH1F* m_cls6SampleTrkTimeU3 = nullptr;
147  TH1F* m_cls6SampleTrkTimeV3 = nullptr;
148 
150  TH1F* m_clsTrkTimeU456 = nullptr;
152  TH1F* m_clsTrkTimeV456 = nullptr;
153 
155  TH1F* m_cls3SampleTrkTimeU456 = nullptr;
157  TH1F* m_cls3SampleTrkTimeV456 = nullptr;
158 
160  TH1F* m_cls6SampleTrkTimeU456 = nullptr;
162  TH1F* m_cls6SampleTrkTimeV456 = nullptr;
163 
165  std::map<std::pair<int, int>, int> m_ladderMap;
166 
167  };
168 
170 }
Storage element for the eventwise T0 estimation.
Definition: EventT0.h:29
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
SVD DQM Module for Clusters related to Tracks.
TH1F ** m_clsTrkSNRL3
SNR of clusters related to tracks per layer 3.
std::string m_svdClustersName
SVDClusters data object name.
void initialize() override final
Module function initialize.
TH1F ** m_clsTrkChargeL3
charge of clusters related to tracks per layer 3
TH1F ** m_clsTrkCharge
charge of clusters related to tracks per ladder
TH1F * m_clsTrkSNRV456
v SNR of clusters related to tracks for layer 4,5,6 sensors
std::string m_svdShaperDigitsName
SVDShaperDigits data object name.
StoreObjPtr< EventT0 > m_eventT0
EventT0 data object.
bool m_skipRejectedEvents
if true skip events rejected by HLT (default)
TH1F * m_clsTrkTimeU3
u Time of clusters related to tracks for layer 3 sensors
TH1F * m_cls3SampleTrkTimeV3
v Time of clusters related to tracks for layer 3 sensors for 3 sampes
StoreObjPtr< SVDEventInfo > m_svdEventInfo
SVDEventInfo data object.
TH1F * m_cls3SampleTrkTimeU456
u Time of clusters related to tracks for layer 4,5,6 sensors for 3 samples
TH1F * m_clsTrkChargeV3
v charge of clusters related to tracks for layer 3 sensors
void defineHisto() override final
Contains the Histogram definitions
TH1F * m_clsTrkSNRU456
u SNR of clusters related to tracks for layer 4,5,6 sensors
TH1F * m_clsTrkSNRV3
v SNR of clusters related to tracks for layer 3 sensors
TH1F * m_cls6SampleTrkTimeU3
u Time of clusters related to tracks for layer 3 sensors for 3 samples
TH1F * m_cls6SampleTrkTimeV456
v Time of clusters related to tracks for layer 4,5,6 sensors for 6 samples
TH2F * m_clsTrkTimeUEvtT0
u Time of clusters related to tracks vs EventT0
void terminate() override final
Module function terminate.
TH1F * m_clsTrkChargeU456
u charge of clusters related to tracks for layer 4,5,6 sensors
TH1F * m_cls6SampleTrkTimeV3
v Time of clusters related to tracks for layer 3 sensors for 3 sampes
void event() override final
Module function event.
TH1F * m_clsTrkTimeV3
v Time of clusters related to tracks for layer 3 sensors
TH1F * m_cls3SampleTrkTimeU3
u Time of clusters related to tracks for layer 3 sensors for 3 samples
SVDDQMClustersOnTrackModule & operator=(const SVDDQMClustersOnTrackModule &)=delete
Operator = (disabled)
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
StoreArray< Track > m_tracks
StoreArray of the Tracks.
int m_tb
choose one trigger bin, or none if the value is -1
TH1F * m_stripMaxBinUAll
u MaxBin of strips related to tracks for all sensors
bool m_3Samples
if true enable 3 samples histograms analysis
TList * m_histoList
list of cumulative histograms
std::string m_svdRecoDigitsName
SVDRecoDigits data object name.
std::string m_svdEventInfoName
SVDEventInfo data object name.
TH1F * m_cls6SampleTrkTimeU456
u Time of clusters related to tracks for layer 4,5,6 sensors for 6 samples
void beginRun() override final
Module function beginRun.
TH1F * m_clsTrkSNRU3
u SNR of clusters related to tracks for layer 3 sensors
bool m_desynchSVDTime
if TRUE: svdTime back in SVD time reference
TH1F * m_clsTrkChargeU3
u charge of clusters related to tracks for layer 3 sensors
TH1F * m_stripMaxBinVAll
v MaxBin of strips related to tracks for all sensors
TH1F * m_cls3SampleTrkTimeV456
v Time of clusters related to tracks for layer 4,5,6 sensors for 3 samples
SVDDQMClustersOnTrackModule(const SVDDQMClustersOnTrackModule &)=delete
Copy constructor (disabled)
StoreObjPtr< SoftwareTriggerResult > m_resultStoreObjectPointer
Store Object for reading the trigger decision.
TH1F * m_clsTrkTimeU456
u Time of clusters related to tracks for layer 4,5,6 sensors
TH1F ** m_clsTrkSNR
SNR of clusters related to tracks per ladder.
TH2F * m_clsTrkTimeVEvtT0
v Time of clusters related to tracks vs EventT0
TH1F * m_clsTrkChargeV456
v charge of clusters related to tracks for layer 4,5,6 sensors
TH1F * m_clsTrkTimeV456
v Time of clusters related to tracks for layer 4,5,6 sensors
std::map< std::pair< int, int >, int > m_ladderMap
map of ladder index
Stores SVDModeByte object with Trigger time, DAQ mode, Run type & Event type! Also - the information ...
Definition: SVDEventInfo.h:31
Dataobject to store the results of the cut calculations performed by the SoftwareTriggerModule.
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
Class that bundles various TrackFitResults.
Definition: Track.h:25
Abstract base class for different kinds of events.