Belle II Software  release-05-01-25
CDCDedxValidation.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) * *
3  * Copyright(C) 2012 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jitendra Kumar *
7  * Module for validationg CDC dE/dx GT or data processing validation *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 
13 #pragma once
14 
15 #include <framework/core/HistoModule.h>
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/dataobjects/EventMetaData.h>
18 #include <framework/database/DBObjPtr.h>
19 
20 #include <mdst/dataobjects/TrackFitResult.h>
21 
22 #include <reconstruction/dataobjects/CDCDedxTrack.h>
23 #include <reconstruction/dbobjects/CDCDedxRunGain.h>
24 
25 
26 #include "TH1D.h"
27 #include "TF1.h"
28 #include "TList.h"
29 #include "TFile.h"
30 #include "TString.h"
31 
32 namespace Belle2 {
45  class CDCDedxValidationModule : public HistoModule {
46 
47  public:
48 
54 
58  virtual ~CDCDedxValidationModule() {}
59 
64  virtual void initialize() override;
65 
70  virtual void beginRun() override;
71 
76  virtual void event() override;
77 
82  virtual void endRun() override;
83 
88  virtual void terminate() override;
89 
90 
95  void DefineHistograms(TString level, Int_t iR);
96 
101  void FillHistograms(CDCDedxTrack* dedxTrack, const TrackFitResult* mTrack);
102 
107  void ExtractHistograms(TString level);
108 
113  Bool_t IsSelectedTrack(const TrackFitResult* mTrack);
114 
119  void setD0Cut(Double_t value) {fD0Window = value;}
120 
125  void setZ0Cut(Double_t value) {fZ0Window = value;}
126 
127 
128  private:
129 
139  Double_t fD0Window;
140  Double_t fZ0Window;
141  Int_t fnRunCounter;
142  Int_t fiRun;
144  Int_t fnBinsdedx;
145  Double_t fnBinsdedxLE;
146  Double_t fnBinsdedxUE;
148  Int_t fnRuns;
150  Double_t fcRunGain;
151  Double_t fTrkEoverP;
153  TFile* fFileOutput = nullptr;
154  TList* fBasic = nullptr;
155  TList* fPRdEdx = nullptr;
156  TList* fPRdEdxinP = nullptr;
158  std::string fOutFileName;
159  std::string fCollType;
161  std::vector<Double_t> TotMean;
162  std::vector<Double_t> TotMeanE;
163  std::vector<Double_t> TotSigma;
164  std::vector<Double_t> TotSigmaE;
165  std::vector<Int_t> TotRunN;
167  std::vector<TH1D*> hdEdx_PR;
170  };
171 
173 }
Belle2::CDCDedxValidationModule::fcRunGain
Double_t fcRunGain
existing run gain
Definition: CDCDedxValidation.h:159
Belle2::CDCDedxValidationModule::m_cdcDedxTracks
StoreArray< CDCDedxTrack > m_cdcDedxTracks
Data members for objects, cuts and others.
Definition: CDCDedxValidation.h:146
Belle2::CDCDedxValidationModule::initialize
virtual void initialize() override
Initialize This is inherited from base class.
Definition: CDCDedxValidation.cc:42
Belle2::CDCDedxValidationModule::IsSelectedTrack
Bool_t IsSelectedTrack(const TrackFitResult *mTrack)
Track selection A clean way to impliment selections on tracks (so far few only)
Definition: CDCDedxValidation.cc:515
Belle2::CDCDedxValidationModule::fPRdEdx
TList * fPRdEdx
List of per run dedx histos.
Definition: CDCDedxValidation.h:164
Belle2::CDCDedxValidationModule::beginRun
virtual void beginRun() override
Fuction to execute each run This is inherited from base class.
Definition: CDCDedxValidation.cc:60
Belle2::CDCDedxValidationModule::TotRunN
std::vector< Int_t > TotRunN
veector array of runs processed
Definition: CDCDedxValidation.h:174
Belle2::CDCDedxValidationModule::setD0Cut
void setD0Cut(Double_t value)
d0 Selection set/change d0 while executing this module from external script
Definition: CDCDedxValidation.h:128
Belle2::CDCDedxValidationModule::TotMeanE
std::vector< Double_t > TotMeanE
Mean Error of dedx by Fit.
Definition: CDCDedxValidation.h:171
Belle2::CDCDedxValidationModule::fnRuns
Int_t fnRuns
Number of runs ref.
Definition: CDCDedxValidation.h:157
Belle2::CDCDedxValidationModule::DefineHistograms
void DefineHistograms(TString level, Int_t iR)
Defination of histograms This contain a list of histogram for validation.
Definition: CDCDedxValidation.cc:214
Belle2::CDCDedxValidationModule::fFileOutput
TFile * fFileOutput
Write final objects to file for RG.
Definition: CDCDedxValidation.h:162
Belle2::CDCDedxValidationModule::fTrkEoverP
Double_t fTrkEoverP
E/p ratio for cut.
Definition: CDCDedxValidation.h:160
Belle2::CDCDedxValidationModule::fCollType
std::string fCollType
collision type
Definition: CDCDedxValidation.h:168
Belle2::TrackFitResult
Values of the result of a track fit with a given particle hypothesis.
Definition: TrackFitResult.h:59
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDCDedxValidationModule::fnBinsdedxUE
Double_t fnBinsdedxUE
up edge of dedx
Definition: CDCDedxValidation.h:155
Belle2::CDCDedxValidationModule::event
virtual void event() override
fuction to execute event (event by event) This is inherited from base class
Definition: CDCDedxValidation.cc:76
Belle2::CDCDedxValidationModule::FillHistograms
void FillHistograms(CDCDedxTrack *dedxTrack, const TrackFitResult *mTrack)
Filling histograms This will fill histogram defined histograms in above function.
Definition: CDCDedxValidation.cc:132
Belle2::CDCDedxValidationModule::endRun
virtual void endRun() override
fuction is called after each event This is inherited from base class
Definition: CDCDedxValidation.cc:207
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCDedxValidationModule::fnBinsdedxLE
Double_t fnBinsdedxLE
low edge of dedx
Definition: CDCDedxValidation.h:154
Belle2::CDCDedxValidationModule::fBasic
TList * fBasic
List of basic histos.
Definition: CDCDedxValidation.h:163
Belle2::CDCDedxValidationModule::TotSigma
std::vector< Double_t > TotSigma
Sigma of dedx by Fit.
Definition: CDCDedxValidation.h:172
Belle2::CDCDedxValidationModule::fOutFileName
std::string fOutFileName
name of output ROOT file
Definition: CDCDedxValidation.h:167
Belle2::CDCDedxValidationModule::fnRunCounter
Int_t fnRunCounter
Total runs used counter.
Definition: CDCDedxValidation.h:150
Belle2::CDCDedxValidationModule::terminate
virtual void terminate() override
Terminate after all data processed This is inherited from base class.
Definition: CDCDedxValidation.cc:499
Belle2::CDCDedxValidationModule::fPRdEdxinP
TList * fPRdEdxinP
list per run dedx in P histos
Definition: CDCDedxValidation.h:165
Belle2::CDCDedxValidationModule::m_DBRunGain
DBObjPtr< CDCDedxRunGain > m_DBRunGain
Run gain DB object.
Definition: CDCDedxValidation.h:177
Belle2::CDCDedxValidationModule::fiRun
Int_t fiRun
Current run number.
Definition: CDCDedxValidation.h:151
Belle2::CDCDedxValidationModule::fnBinsdedx
Int_t fnBinsdedx
nbin of dedx range
Definition: CDCDedxValidation.h:153
Belle2::CDCDedxValidationModule::setZ0Cut
void setZ0Cut(Double_t value)
z0 Selection set/change z0 while executing this module from external script
Definition: CDCDedxValidation.h:134
Belle2::CDCDedxValidationModule::~CDCDedxValidationModule
virtual ~CDCDedxValidationModule()
Default destructor.
Definition: CDCDedxValidation.h:67
Belle2::CDCDedxValidationModule::CDCDedxValidationModule
CDCDedxValidationModule()
Default constructor contain list of members with initial values.
Definition: CDCDedxValidation.cc:24
Belle2::CDCDedxValidationModule::fCurrentRunNum
Int_t fCurrentRunNum
current run number
Definition: CDCDedxValidation.h:158
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCDedxValidationModule::hdEdx_PR
std::vector< TH1D * > hdEdx_PR
histogram array per run
Definition: CDCDedxValidation.h:176
Belle2::CDCDedxValidationModule::TotMean
std::vector< Double_t > TotMean
Mean of dedx by Fit.
Definition: CDCDedxValidation.h:170
Belle2::CDCDedxValidationModule::fD0Window
Double_t fD0Window
d0 window cut
Definition: CDCDedxValidation.h:148
Belle2::CDCDedxTrack
Debug output for CDCDedxPID module.
Definition: CDCDedxTrack.h:36
Belle2::CDCDedxValidationModule::fZ0Window
Double_t fZ0Window
z0 window cut
Definition: CDCDedxValidation.h:149
Belle2::CDCDedxValidationModule::TotSigmaE
std::vector< Double_t > TotSigmaE
Sigma Error of dedx by Fit.
Definition: CDCDedxValidation.h:173
Belle2::CDCDedxValidationModule::ExtractHistograms
void ExtractHistograms(TString level)
Extrating histogram and some calucation Higher level histograms are filled after each run or full pro...
Definition: CDCDedxValidation.cc:375