Belle II Software  release-08-01-10
SVDROIFinderAnalysisModule.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/Module.h>
12 #include <mdst/dataobjects/MCParticle.h>
13 #include <tracking/dataobjects/RecoTrack.h>
14 #include <tracking/dataobjects/ROIid.h>
15 #include <tracking/dataobjects/SVDIntercept.h>
16 #include <svd/dataobjects/SVDShaperDigit.h>
17 #include <string>
18 #include <TFile.h>
19 #include <TH1F.h>
20 #include <TH2F.h>
21 #include <TGraphErrors.h>
22 
23 namespace Belle2 {
35 
36  public:
37 
42 
47 
51  void initialize() override;
52 
56  void beginRun() override;
57 
61  void event() override;
62 
66  void endRun() override;
67 
71  void terminate() override;
72 
73  private:
74 
84  std::string m_shapersName;
85  std::string m_recoTrackListName;
86  std::string m_SVDInterceptListName;
87  std::string m_ROIListName;
89  TFile* m_rootFilePtr;
90  std::string m_rootFileName;
95  //graphs & histos - results
96  Double_t pt[6] = {0.05, 0.15, 0.25, 0.4, 0.75, 1.5};
97  Double_t ptErr[6] = { 0.05, 0.05, 0.05, 0.1, 0.25, 0.5};
99  TGraphErrors* m_gEff2;
100  TGraphErrors* m_gEff;
104  TH1F* m_h1digiIn;
105  TH1F* m_h1digiOut2;
106  TH1F* m_h1digiOut3;
107  TH1F* m_h1digiOut4;
108  TH1F* m_h1digiOut5;
116  TH1F* m_h1Track;
117  TH1F* m_h1Track_pt;
125  TH1F* m_h1INtrack1;
144  //fill digits inside ROIs
145  TH1F* m_h1PullU;
146  TH1F* m_h1PullV;
149  TH1F* m_h1ResidU;
150  TH1F* m_h1ResidV;
151  TH1F* m_h1SigmaU;
152  TH1F* m_h1SigmaV;
155  //fill digits outside2 ROIs
164  //fill digits outside3 ROIs
173  //fill digits outside4 ROIs
180  //fill digits outside5 ROIs
183  //ROI stuff
188  TH1F* m_h1totROIs;
189  TH1F* m_h1okROIs;
197  //variables
198  double m_globalTime;
199  double m_coorU;
200  double m_coorV;
201  double m_sigmaU;
202  double m_sigmaV;
203  int m_vxdID;
205  double m_coormc;
206  int m_idmc;
207  int m_vxdIDmc;
208  double m_pTmc;
209  double m_momXmc;
210  double m_momYmc;
211  double m_momZmc;
212  double m_thetamc;
213  double m_costhetamc;
214  double m_phimc;
215  double m_lambdamc;
217  unsigned int Ntrack;
218  unsigned int NtrackHit;
219  unsigned int n_notINtrack2;
220  unsigned int n_notINtrack3;
221  unsigned int n_notINtrack4;
222  unsigned int n_notINtrack5;
225  unsigned int n_rois;
226  unsigned int n_OKrois;
227  unsigned int m_nGoodROIs;
228  unsigned int n_intercepts;
229  unsigned int n_tracks;
230  unsigned int n_tracksWithDigits;
231  unsigned int n_tracksWithDigitsInROI;
232  unsigned int n_svdDigit;
233  unsigned int n_svdDigitInROI;
235  unsigned int n_notINdigit2;
236  unsigned int n_notINdigit3;
237  unsigned int n_notINdigit4;
238  unsigned int n_notINdigit5;
240  unsigned int nsvdDigit[6];
241  unsigned int nsvdDigitInROI[6];
242  unsigned int nnotINdigit2[6];
243  unsigned int nnotINdigit3[6];
244  unsigned int nnotINdigit4[6];
245  unsigned int nnotINdigit5[6];
246  unsigned int TrackOneDigiIn[6];
247  unsigned int nnotINtrack2[6];
248  unsigned int nnotINtrack3[6];
249  unsigned int nnotINtrack4[6];
250  unsigned int nnotINtrack5[6];
252  };
253 
255 }
Base class for Modules.
Definition: Module.h:72
This module performs the analysis of the SVD data reduction module performances
unsigned int nnotINtrack3[6]
tracks, inefficiency #3, in pT bins
TH1F * m_h1SigmaU_out4
distribution of sigmaU for SVDShaperDigits not contained in a ROI
TH1F * m_h1GlobalTime_out3
distribution of global time for PDXDigits not contained in a ROI
TH1F * m_h1GlobalTime_out4
distribution of global time for PDXDigits not contained in a ROI
TH1F * m_h1notINtrack5_nCDChits
denominator track pVal
unsigned int nsvdDigit[6]
number of svd digits in bins of pt
TH1F * m_h1ResidU_out2
distribution of U resid for SVDShaperDigits not contained in a ROI
TH1F * m_h1INtrack1
track with no intercept
TH1F * m_h1nnotINtrack2
tracks with lost digit: ROI exist with right vxdID
TH2F * m_h2sigmaVphi_out2
distribution of sigmaV VS phi for PDXDigits not contained in a ROI
TH1F * m_h1SigmaV_out4
distribution of sigmaV for SVDShaperDigits not contained in a ROI
TH1F * m_h1ResidV
distribution of V resid for SVDShaperDigits contained in a ROI
TH1F * m_h1nnotINtrack3
lost digit: ROI exist with wrong vxdID
TH1F * m_h1nnotINtrack5
lost digit: ROI does not exist, intercept with wrong vxdID
TH1F * m_h1nnotINtrack4
lost digit: ROI does not exist, intercept with right vxdID
unsigned int n_notINdigit2
number of lost digits: no hit, correct vxdID
Double_t ptErr[6]
bin widths (transverse momentum)
unsigned int n_notINtrack4
nuner of tracks with no ROI (intercept with correct vxdID)
unsigned int n_intercepts
number of intercepts
TH1F * m_h1INtrack1_nCDChits
denominator track pVal
std::string m_recoTrackListName
Track list name.
TH1F * m_h1INtrack1_pt
track with no intercept pT
bool m_writeToRoot
if true, a rootFile named by m_rootFileName will be filled with info
TH1F * m_h1INtrack1_lambda
track with no intercept lambda
TH1F * m_h1SigmaV_out3
distribution of sigmaV for SVDShaperDigits not contained in a ROI
unsigned int nnotINtrack2[6]
tracks, inefficiency #2, in pT bins
TH1F * m_h1INtrack1_phi
track with no intercept phi
TH1F * m_h1PullV
distribution of V pulls for PDXDigits contained in a ROI
StoreArray< SVDIntercept > m_SVDIntercepts
svd intercept store array
void initialize() override
Initializes the Module.
TH1F * m_h1ResidV_out2
distribution of V resid for SVDShaperDigits not contained in a ROI
TH1F * m_h1Track_pVal
denominator track pVal
TH1F * m_h1PullU
distribution of U pulls for PDXDigits contained in a ROI
TH1F * m_h1okROIs
distribution of number of ROIs containin a SVDShaperDigit
TH1F * m_h1Track_cosTheta
denominator track cosTheta
TH1F * m_h1INtrack1_nSVDhits
denominator track pVal
unsigned int nnotINdigit3[6]
number of lost digits in bins of pt: no hit, wrong vxdID
unsigned int nnotINtrack4[6]
tracks, inefficiency #4, in pT bins
StoreArray< SVDShaperDigit > m_shapers
shaper digits sotre array
unsigned int n_notINtrack2
nuner of tracks with no digits in ROI (correct vxdID)
TH1F * m_h1notINtrack5_phi
track with no intercept phi
unsigned int n_notINdigit3
number of lost digits: no hit, wrong vxdID
TH1F * m_h1Track_nCDChits
denominator track pVal
TH1F * m_h1digiOut5
lost digit: ROI does not exist, intercept with wrong vxdID
TH1F * m_h1Track_lambda
denominator track lambda
unsigned int nnotINdigit4[6]
number of lost digits in bins of pt: no ROI, intercepts with correct vxdID
unsigned int nnotINdigit2[6]
number of lost digits in bins of pt: no hit, correct vxdID
StoreArray< RecoTrack > m_trackList
reco track store array
TH1F * m_h1notINtrack5_lambda
track with no intercept lambda
std::string m_SVDInterceptListName
Intercept list name.
TGraphErrors * m_gEff2
efficiency graph
void endRun() override
Executed at the end of the run.
TH1F * m_h1totROIs
distribution of number of all ROIs
TH1F * m_h1TrackOneDigiIn
tracks with at least digit contained in ROI
TH2F * m_h2sigmaUphi_out2
distribution of sigmaU VS phi for PDXDigits not contained in a ROI
void terminate() override
Termination action.
TH1F * m_h1ResidU_out3
distribution of U resid for SVDShaperDigits not contained in a ROI
unsigned int n_svdDigit
number of svd digits
TH1F * m_h1digiOut4
lost digit: ROI does not exist, intercept with right vxdID
unsigned int nnotINtrack5[6]
tracks, inefficiency #5, in pT bins
unsigned int n_notINdigit5
number of lost digits: no ROI, intercepts with wrong vxdID
TH1F * m_h1GlobalTime
distribution of global time for PDXDigits contained in a ROI
TH2F * m_h2ROItopRight
top right corner coordinates
SVDROIFinderAnalysisModule()
Constructor of the module.
unsigned int nsvdDigitInROI[6]
number of svd digits inside ROI in bins of pt
unsigned int NtrackHit
nuner of tracks with hits
TH1F * m_h1SigmaU_out2
distribution of sigmaU for SVDShaperDigits not contained in a ROI
TH1F * m_h1notINtrack5_pVal
denominator track pVal
TH1F * m_h1SigmaV
distribution of sigmaV for SVDShaperDigits contained in a ROI
TH1F * m_h1digiOut2
lost digit: ROI exist with right vxdID
TH1F * m_h1GlobalTime_out2
distribution of global time for PDXDigits not contained in a ROI
TH1F * m_h1INtrack1_cosTheta
track with no intercept costheta
unsigned int n_tracksWithDigitsInROI
number of tracks with digits in ROI
~SVDROIFinderAnalysisModule()
Destructor of the module.
TH2F * m_h2sigmaUphi_out4
distribution of sigmaU VS phi for PDXDigits not contained in a ROI
TH1F * m_h1RecoTracksPerParticle
number of reco tracks per particle
TH1F * m_h1SigmaU
distribution of sigmaU for SVDShaperDigits contained in a ROI
TH1F * m_h1GlobalTime_out5
distribution of global time for PDXDigits not contained in a ROI
unsigned int Ntrack
nuner of tracks with svd digits
unsigned int n_notINtrack5
nuner of tracks with no ROI (intercept with wrong vxdID)
TH1F * m_h1ResidV_out3
distribution of V resid for SVDShaperDigits not contained in a ROI
unsigned int nnotINdigit5[6]
number of lost digits in bins of pt: no ROI, intercepts with wrong vxdID
unsigned int n_tracksWithDigits
number of tracks with digits
TH1F * m_h1Track_nSVDhits
denominator track pVal
unsigned int n_notINdigit4
number of lost digits: no ROI, intercepts with correct vxdID
TH1F * m_h1ResidU
distribution of U resid for SVDShaperDigits contained in a ROI
void beginRun() override
Initializations at the begin of the run.
TH1F * m_h1notINtrack5_nSVDhits
denominator track pVal
double m_lambdamc
true lambda = pi/2 - theta
TH1F * m_h1INtrack1_pVal
denominator track pVal
TH2F * m_h2sigmaVphi_out3
distribution of sigmaV VS phi for PDXDigits not contained in a ROI
TH1F * m_h1notINtrack5_pt
track with no intercept pT
TH2F * m_h2sigmaVphi_out4
distribution of sigmaV VS phi for PDXDigits not contained in a ROI
unsigned int n_OKrois
good rois (simulation)
Double_t pt[6]
bin edges (in pt = transverse momentum)
unsigned int n_svdDigitInROI
number of svd digits in ROIs
bool m_isSimulation
true if the module is run on simulated events
TH1F * m_h1notINtrack5
track with no intercept
TH2F * m_h2sigmaUphi
distribution of sigmaU VS phi for PDXDigits contained in a ROI
TH2F * m_h2ROIbottomLeft
bottom left corner coordinates
TH1F * m_h1digiIn
digits contained in ROI histogram
TH2F * m_h2ROIvMinMax
min VS max of the V coordinate
TH1F * m_h1totUstrips
distribution of number of u strips of all ROIs
TH1F * m_h1SigmaV_out2
distribution of sigmaV for SVDShaperDigits not contained in a ROI
TH1F * m_h1DigitsPerParticle
number of digits per particle
std::string m_shapersName
SVDShaperDigits name.
StoreArray< MCParticle > m_mcParticles
mc particle store array
TH1F * m_h1totVstrips
distribution of number of v strips of all ROIs
TH2F * m_h2sigmaVphi
distribution of sigmaV VS phi for PDXDigits contained in a ROI
TH2F * m_h2sigmaUphi_out3
distribution of sigmaU VS phi for PDXDigits not contained in a ROI
TFile * m_rootFilePtr
pointer at root file used for storing infos for debugging and validating purposes
unsigned int TrackOneDigiIn[6]
tracks with one digit in, in pT bins
TH2F * m_h2ROIuMinMax
min VS max of the U coordinate
double m_coormc
true intercept coordinate
unsigned int n_notINtrack3
nuner of tracks with no digits in ROI (wrong vxdID)
TH1F * m_h1SigmaU_out3
distribution of sigmaU for SVDShaperDigits not contained in a ROI
TH1F * m_h1digiOut3
lost digit: ROI exist with wrong vxdID
StoreArray< ROIid > m_ROIs
rois store array
TH1F * m_h1notINtrack5_cosTheta
track with no intercept costheta
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.