Belle II Software  release-05-01-25
SVDB4CommissioningPlotsModule.cc
1 #include <svd/modules/svdPerformance/SVDB4CommissioningPlotsModule.h>
2 #include <framework/datastore/RelationVector.h>
3 #include <time.h>
4 #include <mdst/dataobjects/HitPatternVXD.h>
5 #include <vxd/geometry/GeoCache.h>
6 
7 #include <boost/foreach.hpp>
8 
9 using namespace std;
10 using namespace Belle2;
11 
12 REG_MODULE(SVDB4CommissioningPlots)
13 
14 SVDB4CommissioningPlotsModule::SVDB4CommissioningPlotsModule() : Module()
15  , m_nTracks(0), m_Pvalue(), m_mom(0), m_nSVDhits(0)
16 {
17 
18  setDescription("This module check performances of SVD reconstruction on Commissioning data");
19 
20  addParam("outputFileName", m_rootFileName, "Name of output root file.", std::string("SVDB4CommissioningPlots_output.root"));
21 
22  addParam("RecoDigitsName", m_RecoDigitName, "Name of RecoDigit Store Array.", std::string("SVDRecoDigits"));
23  addParam("ClustersName", m_ClusterName, "Name of Cluster Store Array.", std::string("SVDClusters"));
24  addParam("TrackListName", m_TrackName, "Name of Track Store Array.", std::string("Tracks"));
25  addParam("TrackFitResultListName", m_TrackFitResultName, "Name of TracksFitResult Store Array.", std::string("TrackFitResults"));
26 }
27 
28 SVDB4CommissioningPlotsModule::~SVDB4CommissioningPlotsModule()
29 {
30 
31 }
32 
34 {
35 
36  m_svdRecos.isOptional(m_RecoDigitName);
37  m_svdClusters.isRequired(m_ClusterName);
38  m_Tracks.isOptional(m_TrackName);
39  m_recoTracks.isOptional();
40  m_tfr.isOptional(m_TrackFitResultName);
41 
42 
43  B2INFO(" RecoDigits: " << m_RecoDigitName);
44  B2INFO(" Clusters: " << m_ClusterName);
45  B2INFO(" Tracks: " << m_TrackName);
46  B2INFO(" TrackFitResults: " << m_TrackFitResultName);
47 
48 
49 
50  m_rootFilePtr = new TFile(m_rootFileName.c_str(), "RECREATE");
51 
52  m_ntracks = 0;
53 }
54 
56 {
57  m_nEvents = 0;
58 
59  //RECO DIGITS
60  TH1F hRecoCharge("reco_charge_L@layerL@ladderS@sensor@view",
61  "Charge of RecoDigits in @layer.@ladder.@sensor @view/@side side",
62  100, 0 , 1000);
63  hRecoCharge.GetXaxis()->SetTitle("charge (ke-)");
64  h_recoCharge = new SVDHistograms<TH1F>(hRecoCharge);
65 
66  TH1F hRecoEnergy("reco_energy_L@layerL@ladderS@sensor@view",
67  "Energy of RecoDigits in @layer.@ladder.@sensor @view/@side side",
68  100, 0 , 360);
69  hRecoEnergy.GetXaxis()->SetTitle("energy (keV)");
70  h_recoEnergy = new SVDHistograms<TH1F>(hRecoEnergy);
71 
72  TH1F hRecoTime("reco_time_L@layerL@ladderS@sensor@view",
73  "Time of RecoDigits in @layer.@ladder.@sensor @view/@side side",
74  200, -100 , 100);
75  hRecoTime.GetXaxis()->SetTitle("time (ns)");
76  h_recoTime = new SVDHistograms<TH1F>(hRecoTime);
77 
78  TH1F hRecoNoise("reco_noise_L@layerL@ladderS@sensor@view",
79  "Noise of RecoDigits in @layer.@ladder.@sensor @view/@side side",
80  200, 300 , 1800);
81  hRecoNoise.GetXaxis()->SetTitle("strip noise (e-)");
82  h_recoNoise = new SVDHistograms<TH1F>(hRecoNoise);
83 
84  //CLUSTER NOT RELATED TO TRACKS
85  TH1F hClusterCharge("cluster_charge_L@layerL@ladderS@sensor@view",
86  "Charge of Clusters in @layer.@ladder.@sensor @view/@side side",
87  100, 0 , 100);
88  hClusterCharge.GetXaxis()->SetTitle("charge (ke-)");
89  h_clusterCharge = new SVDHistograms<TH1F>(hClusterCharge);
90 
91  TH1F hClusterSize("cluster_size_L@layerL@ladderS@sensor@view",
92  "Clusters Size for @layer.@ladder.@sensor @view/@side side",
93  20, 0 , 20);
94  hClusterSize.GetXaxis()->SetTitle("cluster size");
95  h_clusterSize = new SVDHistograms<TH1F>(hClusterSize);
96 
97  TH1F hClusterSNR("cluster_SNR_L@layerL@ladderS@sensor@view",
98  "SNR of Clusters in @layer.@ladder.@sensor @view/@side side",
99  100, 0 , 140);
100  hClusterSNR.GetXaxis()->SetTitle("SNR");
101  h_clusterSNR = new SVDHistograms<TH1F>(hClusterSNR);
102 
103  TH1F hClusterEnergy("cluster_energy_L@layerL@ladderS@sensor@view",
104  "Energy of Clusters in @layer.@ladder.@sensor @view/@side side",
105  100, 0 , 360);
106  hClusterEnergy.GetXaxis()->SetTitle("energy (keV)");
107  h_clusterEnergy = new SVDHistograms<TH1F>(hClusterEnergy);
108 
109  TH1F hClusterTime("cluster_time_L@layerL@ladderS@sensor@view",
110  "Time of Clusters in @layer.@ladder.@sensor @view/@side side",
111  200, -100 , 100);
112  hClusterTime.GetXaxis()->SetTitle("time (ns)");
113  h_clusterTime = new SVDHistograms<TH1F>(hClusterTime);
114 
115  //CLUSTER RELATED TO TRACKS
116  TH1F hClusterTrkCharge("clusterTrk_charge_L@layerL@ladderS@sensor@view",
117  "Charge of Clusters Related to Tracks in @layer.@ladder.@sensor @view/@side side",
118  100, 0 , 100);
119  hClusterTrkCharge.GetXaxis()->SetTitle("charge (ke-)");
120  h_clusterTrkCharge = new SVDHistograms<TH1F>(hClusterTrkCharge);
121 
122  TH1F hClusterTrkSize("clusterTrk_size_L@layerL@ladderS@sensor@view",
123  "Cluster Size for @layer.@ladder.@sensor @view/@side side",
124  20, 0 , 20);
125  hClusterTrkSize.GetXaxis()->SetTitle("cluster size");
126  h_clusterTrkSize = new SVDHistograms<TH1F>(hClusterTrkSize);
127 
128  TH1F hClusterTrkSNR("clusterTrk_SNR_L@layerL@ladderS@sensor@view",
129  "SNR of Clusters Related to Tracks in @layer.@ladder.@sensor @view/@side side",
130  100, 0 , 140);
131  hClusterTrkSNR.GetXaxis()->SetTitle("SNR");
132  h_clusterTrkSNR = new SVDHistograms<TH1F>(hClusterTrkSNR);
133 
134  TH1F hClusterTrkEnergy("clusterTrk_energy_L@layerL@ladderS@sensor@view",
135  "Energy of Clusters Related to Tracks in @layer.@ladder.@sensor @view/@side side",
136  100, 0 , 360);
137  hClusterTrkEnergy.GetXaxis()->SetTitle("energy (keV)");
138  h_clusterTrkEnergy = new SVDHistograms<TH1F>(hClusterTrkEnergy);
139 
140  TH1F hClusterTrkTime("clusterTrk_time_L@layerL@ladderS@sensor@view",
141  "Time of Clusters Related to Tracks in @layer.@ladder.@sensor @view/@side side",
142  200, -100 , 100);
143  hClusterTrkTime.GetXaxis()->SetTitle("time (ns)");
144  h_clusterTrkTime = new SVDHistograms<TH1F>(hClusterTrkTime);
145 
146  TH1F hClusterTrkInterstripPos("clusterTrk_interstripPos_L@layerL@ladderS@sensor@view",
147  "Interstrip Position of Clusters Related to Tracks in @layer.@ladder.@sensor @view/@side side",
148  400, 0 , 1);
149  hClusterTrkInterstripPos.GetXaxis()->SetTitle("interstrip position");
150  h_clusterTrkInterstripPos = new SVDHistograms<TH1F>(hClusterTrkInterstripPos);
151 
152  //tracks
153  m_nTracks = new TH1F("h1nTracks", "number of Tracks per event", 50, 0, 50);
154  m_nTracks->GetXaxis()->SetTitle("n Tracks");
155  m_Pvalue = new TH1F("h1pValue", "Tracks p value", 100, 0, 1);
156  m_Pvalue->GetXaxis()->SetTitle("p value");
157  m_mom = new TH1F("h1momentum", " Tracks Momentum", 200, 0, 10);
158  m_mom->GetXaxis()->SetTitle("p (GeV/c)");
159  m_nSVDhits = new TH1F("h1nSVDhits", "# SVD hits per track", 20, 0, 20);
160  m_nSVDhits->GetXaxis()->SetTitle("# SVD hits");
161 
162 
163 }
164 
166 {
167 
168  // StoreObjPtr<EventMetaData> eventMD;
169 
170  m_nEvents++;
171  float c_eTOkeV = 3.6 / 1000; //keV = e * c_eTOkeV
172 
173  //tracks
174  if (m_Tracks) {
175  m_nTracks->Fill(m_Tracks.getEntries());
176  m_ntracks += m_Tracks.getEntries();
177  }
178  BOOST_FOREACH(Track & track, m_Tracks) {
179 
180  const TrackFitResult* tfr = track.getTrackFitResult(Const::pion);
181  if (tfr) {
182  m_Pvalue->Fill(tfr->getPValue());
183  m_mom->Fill(tfr->getMomentum().Mag());
184  m_nSVDhits->Fill((tfr->getHitPatternVXD()).getNSVDHits());
185  }
186 
187  RelationVector<RecoTrack> theRC = DataStore::getRelationsWithObj<RecoTrack>(&track);
188  RelationVector<SVDCluster> svdClustersTrack = DataStore::getRelationsWithObj<SVDCluster>(theRC[0]);
189 
190  for (int cl = 0 ; cl < (int)svdClustersTrack.size(); cl++) {
191 
192  float clCharge = svdClustersTrack[cl]->getCharge();
193  float clEnergy = svdClustersTrack[cl]->getCharge() * c_eTOkeV;
194  int clSize = svdClustersTrack[cl]->getSize();
195  float clSN = svdClustersTrack[cl]->getSNR();
196  float clTime = svdClustersTrack[cl]->getClsTime();
197  float clPosition = svdClustersTrack[cl]->getPosition();
198  VxdID::baseType theVxdID = (VxdID::baseType)svdClustersTrack[cl]->getSensorID();
199  int side = svdClustersTrack[cl]->isUCluster();
200 
201  const VXD::SensorInfoBase* aSensorInfo = &VXD::GeoCache::getInstance().getSensorInfo(theVxdID);
202  float pitch = aSensorInfo->getVPitch();
203  if (side == 1)
204  pitch = aSensorInfo->getUPitch();
205  float clInterstripPos = fmod(clPosition, pitch) / pitch;
206 
207  h_clusterTrkCharge->fill(theVxdID, side, clCharge / 1000.);
208  h_clusterTrkSize->fill(theVxdID, side, clSize);
209  h_clusterTrkSNR->fill(theVxdID, side, clSN);
210  h_clusterTrkEnergy->fill(theVxdID, side, clEnergy);
211  h_clusterTrkTime->fill(theVxdID, side, clTime);
212  h_clusterTrkInterstripPos->fill(theVxdID, side, clInterstripPos);
213 
214  // if(svdClustersTrack.size()%2 != 0)
215  // B2INFO(" Event Number = "<<eventMD->getEvent()<<" "<<theVxdID<<"."<<side<<" position = "<<svdClustersTrack[cl]->getPosition()<<" charge = "<<svdClustersTrack[cl]->getCharge());
216 
217  }
218  }
219 
220  if (m_Tracks)
221  B2DEBUG(1, "%%%%%%%% NEW EVENT, number of Tracks = " << m_Tracks.getEntries());
222 
223 
224  //reco digits
225  if (m_svdRecos.isValid()) {
226  for (int digi = 0 ; digi < m_svdRecos.getEntries(); digi++) {
227 
228  VxdID::baseType theVxdID = (VxdID::baseType)m_svdRecos[digi]->getSensorID();
229  int side = m_svdRecos[digi]->isUStrip();
230  int cellID = m_svdRecos[digi]->getCellID();
231 
232  float thisNoise = m_NoiseCal.getNoiseInElectrons(theVxdID, side, cellID);
233 
234  h_recoNoise->fill(theVxdID, side, thisNoise);
235  h_recoCharge->fill(theVxdID, side, m_svdRecos[digi]->getCharge() / 1000.);
236  h_recoEnergy->fill(theVxdID, side, m_svdRecos[digi]->getCharge()*c_eTOkeV);
237  h_recoTime->fill(theVxdID, side, m_svdRecos[digi]->getTime());
238  }
239  }
240 
241  //clusters NOT related to tracks
242  for (int cl = 0 ; cl < m_svdClusters.getEntries(); cl++) {
243 
244  float clCharge = m_svdClusters[cl]->getCharge();
245  float clEnergy = m_svdClusters[cl]->getCharge() * c_eTOkeV;
246  int clSize = m_svdClusters[cl]->getSize();
247  float clTime = m_svdClusters[cl]->getClsTime();
248  float clSN = m_svdClusters[cl]->getSNR();
249 
250  RelationVector<RecoTrack> theRC = DataStore::getRelationsWithObj<RecoTrack>(m_svdClusters[cl]);
251 
252  bool isAssigned = false;
253  // for(int r = 0; r<(int)theRC.size(); r++){
254  if (theRC.size() > 0) {
255  RelationVector<Track> theT = DataStore::getRelationsWithObj<Track>(theRC[0]);
256  if (theT.size() > 0)
257  isAssigned = true;
258  // }
259  }
260 
261  if (isAssigned)
262  continue;
263 
264  VxdID::baseType theVxdID = (VxdID::baseType)m_svdClusters[cl]->getSensorID();
265  int side = m_svdClusters[cl]->isUCluster();
266 
267  h_clusterCharge->fill(theVxdID, side, clCharge / 1000.);
268  h_clusterSize->fill(theVxdID, side, clSize);
269  h_clusterSNR->fill(theVxdID, side, clSN);
270  h_clusterEnergy->fill(theVxdID, side, clEnergy);
271  h_clusterTime->fill(theVxdID, side, clTime);
272  }
273 }
274 
275 
277 {
278  B2INFO("SVDB4CommissioningPlotsModule::endRun(), writing the histograms");
279 
280  if (m_rootFilePtr != NULL) {
281  m_rootFilePtr->cd();
282 
283  TDirectory* oldDir = gDirectory;
284 
285  TDirectory* dir_track = oldDir->mkdir("tracks");
286  dir_track->cd();
287  m_nTracks->Write();
288  m_Pvalue->Write();
289  m_mom->Write();
290  m_nSVDhits->Write();
291 
292  TDirectory* dir_reco = oldDir->mkdir("recoDigits");
293  TDirectory* dir_clusterAssigned = oldDir->mkdir("clusters_assigned");
294  TDirectory* dir_clusterNotAssigned = oldDir->mkdir("clusters_not_assigned");
295 
297 
298  for (auto layer : geoCache.getLayers(VXD::SensorInfoBase::SVD)) {
299  TString layerName = Form("layer%d", layer.getLayerNumber());
300  TDirectory* dir_reco_layer = dir_reco->mkdir(layerName.Data());
301  TDirectory* dir_clusterAssigned_layer = dir_clusterAssigned->mkdir(layerName.Data());
302  TDirectory* dir_clusterNotAssigned_layer = dir_clusterNotAssigned->mkdir(layerName.Data());
303  for (auto ladder : geoCache.getLadders(layer))
304  for (Belle2::VxdID sensor : geoCache.getSensors(ladder))
305  for (int view = SVDHistograms<TH1F>::VIndex ; view < SVDHistograms<TH1F>::UIndex + 1; view++) {
306 
307  dir_reco_layer->cd();
308  (h_recoCharge->getHistogram(sensor, view))->Write();
309  (h_recoEnergy->getHistogram(sensor, view))->Write();
310  (h_recoTime->getHistogram(sensor, view))->Write();
311  (h_recoNoise->getHistogram(sensor, view))->Write();
312  dir_clusterAssigned_layer->cd();
313  (h_clusterTrkCharge->getHistogram(sensor, view))->Write();
314  (h_clusterTrkSNR->getHistogram(sensor, view))->Write();
315  (h_clusterTrkSize->getHistogram(sensor, view))->Write();
316  (h_clusterTrkEnergy->getHistogram(sensor, view))->Write();
317  (h_clusterTrkTime->getHistogram(sensor, view))->Write();
318  (h_clusterTrkInterstripPos->getHistogram(sensor, view))->Write();
319  dir_clusterNotAssigned_layer->cd();
320  (h_clusterCharge->getHistogram(sensor, view))->Write();
321  (h_clusterSNR->getHistogram(sensor, view))->Write();
322  (h_clusterSize->getHistogram(sensor, view))->Write();
323  (h_clusterEnergy->getHistogram(sensor, view))->Write();
324  (h_clusterTime->getHistogram(sensor, view))->Write();
325  }
326  }
327 
328  m_rootFilePtr->Close();
329 
330  }
331 
332 }
333 
334 
335 
337 {
338 }
Belle2::RelationVector::size
size_t size() const
Get number of relations.
Definition: RelationVector.h:98
Belle2::SVDB4CommissioningPlotsModule::h_clusterTrkSNR
SVDHistograms< TH1F > * h_clusterTrkSNR
SVDClusters SNR.
Definition: SVDB4CommissioningPlotsModule.h:111
Belle2::SVDB4CommissioningPlotsModule::m_rootFilePtr
TFile * m_rootFilePtr
pointer at root file used for storing histograms
Definition: SVDB4CommissioningPlotsModule.h:72
Belle2::SVDB4CommissioningPlotsModule::h_clusterTrkSize
SVDHistograms< TH1F > * h_clusterTrkSize
SVDClusters Size.
Definition: SVDB4CommissioningPlotsModule.h:110
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::SVDB4CommissioningPlotsModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: SVDB4CommissioningPlotsModule.cc:33
Belle2::SVDB4CommissioningPlotsModule::event
virtual void event() override
This method is the core of the module.
Definition: SVDB4CommissioningPlotsModule.cc:165
Belle2::SVDB4CommissioningPlotsModule::m_svdClusters
StoreArray< SVDCluster > m_svdClusters
SVDCluster StoreArray.
Definition: SVDB4CommissioningPlotsModule.h:82
Belle2::SVDB4CommissioningPlotsModule::m_ntracks
int m_ntracks
number of tracks
Definition: SVDB4CommissioningPlotsModule.h:87
Belle2::SVDHistograms< TH1F >
Belle2::SVDB4CommissioningPlotsModule::terminate
virtual void terminate() override
This method is called at the end of the event processing.
Definition: SVDB4CommissioningPlotsModule.cc:336
Belle2::Module::setDescription
void setDescription(const std::string &description)
Sets the description of the module.
Definition: Module.cc:216
Belle2::SVDB4CommissioningPlotsModule::m_recoTracks
StoreArray< RecoTrack > m_recoTracks
RecoTrack StoreArray.
Definition: SVDB4CommissioningPlotsModule.h:83
Belle2::SVDB4CommissioningPlotsModule::m_nTracks
TH1F * m_nTracks
number of tracks
Definition: SVDB4CommissioningPlotsModule.h:90
Belle2::TrackFitResult::getMomentum
TVector3 getMomentum() const
Getter for vector of momentum at closest approach of track in r/phi projection.
Definition: TrackFitResult.h:116
Belle2::SVDB4CommissioningPlotsModule::m_Pvalue
TH1F * m_Pvalue
track p value
Definition: SVDB4CommissioningPlotsModule.h:91
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::SVDB4CommissioningPlotsModule::h_clusterTrkCharge
SVDHistograms< TH1F > * h_clusterTrkCharge
SVDClusters Charge.
Definition: SVDB4CommissioningPlotsModule.h:109
Belle2::SVDB4CommissioningPlotsModule::m_nEvents
int m_nEvents
number of events
Definition: SVDB4CommissioningPlotsModule.h:76
Belle2::TrackFitResult::getPValue
double getPValue() const
Getter for Chi2 Probability of the track fit.
Definition: TrackFitResult.h:163
Belle2::VXD::SensorInfoBase
Base class to provide Sensor Information for PXD and SVD.
Definition: SensorInfoBase.h:40
Belle2::SVDB4CommissioningPlotsModule::m_NoiseCal
SVDNoiseCalibrations m_NoiseCal
SVDNoise Calibrations db object.
Definition: SVDB4CommissioningPlotsModule.h:78
Belle2::TrackFitResult
Values of the result of a track fit with a given particle hypothesis.
Definition: TrackFitResult.h:59
Belle2::SVDB4CommissioningPlotsModule::h_recoEnergy
SVDHistograms< TH1F > * h_recoEnergy
SVDRecoDigits Energy.
Definition: SVDB4CommissioningPlotsModule.h:97
Belle2::VXD::SensorInfoBase::getVPitch
double getVPitch(double v=0) const
Return the pitch of the sensor.
Definition: SensorInfoBase.h:150
Belle2::SVDB4CommissioningPlotsModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: SVDB4CommissioningPlotsModule.cc:55
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::SVDB4CommissioningPlotsModule::m_TrackFitResultName
std::string m_TrackFitResultName
TrackFitResult name.
Definition: SVDB4CommissioningPlotsModule.h:65
Belle2::Const::pion
static const ChargedStable pion
charged pion particle
Definition: Const.h:535
Belle2::VxdID::baseType
unsigned short baseType
The base integer type for VxdID.
Definition: VxdID.h:46
Belle2::RelationVector
Class for type safe access to objects that are referred to in relations.
Definition: DataStore.h:38
Belle2::SVDB4CommissioningPlotsModule::m_Tracks
StoreArray< Track > m_Tracks
Track StoreArray.
Definition: SVDB4CommissioningPlotsModule.h:84
Belle2::SVDB4CommissioningPlotsModule::m_TrackName
std::string m_TrackName
Track StoreArray name.
Definition: SVDB4CommissioningPlotsModule.h:66
Belle2::SVDB4CommissioningPlotsModule::endRun
virtual void endRun() override
This method is called if the current run ends.
Definition: SVDB4CommissioningPlotsModule.cc:276
Belle2::VXD::GeoCache::getInstance
static GeoCache & getInstance()
Return a reference to the singleton instance.
Definition: GeoCache.cc:215
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SVDB4CommissioningPlotsModule::h_recoNoise
SVDHistograms< TH1F > * h_recoNoise
SVDRecoDigits Noise.
Definition: SVDB4CommissioningPlotsModule.h:99
Belle2::SVDB4CommissioningPlotsModule::h_clusterSNR
SVDHistograms< TH1F > * h_clusterSNR
SVDClusters SNR.
Definition: SVDB4CommissioningPlotsModule.h:104
Belle2::SVDB4CommissioningPlotsModule::m_rootFileName
std::string m_rootFileName
root file name
Definition: SVDB4CommissioningPlotsModule.h:69
Belle2::VXD::SensorInfoBase::SVD
@ SVD
SVD Sensor.
Definition: SensorInfoBase.h:45
Belle2::SVDB4CommissioningPlotsModule::h_clusterEnergy
SVDHistograms< TH1F > * h_clusterEnergy
SVDClusters Energy.
Definition: SVDB4CommissioningPlotsModule.h:105
Belle2::TrackFitResult::getHitPatternVXD
HitPatternVXD getHitPatternVXD() const
Getter for the hit pattern in the VXD;.
Definition: TrackFitResult.cc:125
Belle2::VXD::SensorInfoBase::getUPitch
double getUPitch(double v=0) const
Return the pitch of the sensor.
Definition: SensorInfoBase.h:143
Belle2::SVDB4CommissioningPlotsModule::h_clusterTrkTime
SVDHistograms< TH1F > * h_clusterTrkTime
SVDClusters Time.
Definition: SVDB4CommissioningPlotsModule.h:113
Belle2::SVDHistograms::fill
void fill(const VxdID &vxdID, int view, Types ... args)
fill the histogram for
Definition: SVDHistograms.h:89
Belle2::SVDB4CommissioningPlotsModule::h_clusterTrkEnergy
SVDHistograms< TH1F > * h_clusterTrkEnergy
SVDClusters Energy.
Definition: SVDB4CommissioningPlotsModule.h:112
Belle2::SVDB4CommissioningPlotsModule::h_recoCharge
SVDHistograms< TH1F > * h_recoCharge
SVDRecoDigits Charge.
Definition: SVDB4CommissioningPlotsModule.h:96
Belle2::SVDB4CommissioningPlotsModule::m_tfr
StoreArray< TrackFitResult > m_tfr
TrackFitResult StoreArray.
Definition: SVDB4CommissioningPlotsModule.h:85
Belle2::Module::addParam
void addParam(const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
Definition: Module.h:562
Belle2::VXD::GeoCache
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
Definition: GeoCache.h:41
Belle2::SVDB4CommissioningPlotsModule::m_nSVDhits
TH1F * m_nSVDhits
track momentum
Definition: SVDB4CommissioningPlotsModule.h:93
Belle2::SVDHistograms::getHistogram
H * getHistogram(const VxdID &vxdID, int view)
get a reference to the histogram for
Definition: SVDHistograms.h:68
Belle2::SVDB4CommissioningPlotsModule::m_svdRecos
StoreArray< SVDRecoDigit > m_svdRecos
SVDRecoDigit StoreArray.
Definition: SVDB4CommissioningPlotsModule.h:81
Belle2::SVDB4CommissioningPlotsModule::h_clusterCharge
SVDHistograms< TH1F > * h_clusterCharge
SVDClusters Charge.
Definition: SVDB4CommissioningPlotsModule.h:102
Belle2::VXD::GeoCache::getSensorInfo
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a referecne to the SensorInfo of a given SensorID.
Definition: GeoCache.cc:68
Belle2::SVDB4CommissioningPlotsModule::h_clusterTrkInterstripPos
SVDHistograms< TH1F > * h_clusterTrkInterstripPos
SVDClusters InterstripPosition.
Definition: SVDB4CommissioningPlotsModule.h:114
Belle2::SVDB4CommissioningPlotsModule::m_RecoDigitName
std::string m_RecoDigitName
SVDRecoDigit StoreArray name.
Definition: SVDB4CommissioningPlotsModule.h:63
Belle2::Track
Class that bundles various TrackFitResults.
Definition: Track.h:35
Belle2::SVDB4CommissioningPlotsModule::h_recoTime
SVDHistograms< TH1F > * h_recoTime
SVDRecoDigits Time.
Definition: SVDB4CommissioningPlotsModule.h:98
Belle2::SVDB4CommissioningPlotsModule::h_clusterSize
SVDHistograms< TH1F > * h_clusterSize
SVDClusters Size.
Definition: SVDB4CommissioningPlotsModule.h:103
Belle2::SVDB4CommissioningPlotsModule::h_clusterTime
SVDHistograms< TH1F > * h_clusterTime
SVDClusters Time.
Definition: SVDB4CommissioningPlotsModule.h:106
Belle2::StoreArray::getEntries
int getEntries() const
Get the number of objects in the array.
Definition: StoreArray.h:226
Belle2::SVDNoiseCalibrations::getNoiseInElectrons
float getNoiseInElectrons(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This method provides the correct noise conversion into electrons, taking into account that the noise ...
Definition: SVDNoiseCalibrations.h:97
Belle2::SVDB4CommissioningPlotsModule::m_mom
TH1F * m_mom
track momentum
Definition: SVDB4CommissioningPlotsModule.h:92
Belle2::SVDB4CommissioningPlotsModule::m_ClusterName
std::string m_ClusterName
SVDCluster StoreArray name.
Definition: SVDB4CommissioningPlotsModule.h:64