Belle II Software  release-05-02-19
CDCDedxElectronCollectorModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: jvbennett *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <vector>
14 
15 #include <calibration/CalibrationCollectorModule.h>
16 #include <mdst/dataobjects/SoftwareTriggerResult.h>
17 #include <reconstruction/dataobjects/CDCDedxTrack.h>
18 #include <mdst/dataobjects/Track.h>
19 #include <mdst/dataobjects/TrackFitResult.h>
20 #include <framework/datastore/StoreArray.h>
21 
22 #include <reconstruction/dbobjects/CDCDedxWireGain.h>
23 
24 namespace Belle2 {
33  class CDCDedxElectronCollectorModule : public CalibrationCollectorModule {
34 
35  public:
36 
41 
45  virtual void prepare() override;
46 
50  virtual void collect() override;
51 
55  void setEoverPCutValue(double value) {fSetEoverP = value;}
56 
57 
58  private:
62  bool m_cuts;
71  int m_maxNumHits;
73  double fSetEoverP;
74  double m_dedx = -1;
76  double m_costh = -1;
77  double m_p = -1;
78  int m_charge = 0;
79  int m_run = 1;
80  int m_nhits = -1;
82  std::vector<int> m_wire;
84  std::vector<int> m_layer;
85  std::vector<double> m_doca;
86  std::vector<double> m_enta;
87  std::vector<double> m_docaRS;
88  std::vector<double> m_entaRS;
89  std::vector<double> m_dedxhit;
92  bool IsCosth;
93  bool IsMom;
94  bool IsCharge;
95  bool IsRun;
96  bool IsWire;
97  bool IsLayer;
98  bool IsDoca;
99  bool IsEnta;
100  bool IsDocaRS;
101  bool IsEntaRS;
102  bool Isdedxhit;
103  bool IsBhabhaEvt;
106  };
108 }
Belle2::CDCDedxElectronCollectorModule::m_dedx
double m_dedx
track level information
Definition: CDCDedxElectronCollectorModule.h:83
Belle2::CDCDedxElectronCollectorModule::IsCharge
bool IsCharge
flag to write charge in treet
Definition: CDCDedxElectronCollectorModule.h:102
Belle2::CDCDedxElectronCollectorModule::m_nhits
int m_nhits
number of dE/dx hits on the track
Definition: CDCDedxElectronCollectorModule.h:88
Belle2::CDCDedxElectronCollectorModule::IsEntaRS
bool IsEntaRS
flag to write rescaled enta in tree
Definition: CDCDedxElectronCollectorModule.h:109
Belle2::CDCDedxElectronCollectorModule::m_trackFitResults
StoreArray< TrackFitResult > m_trackFitResults
Required array for TrackFitResults.
Definition: CDCDedxElectronCollectorModule.h:76
Belle2::CDCDedxElectronCollectorModule::m_entaRS
std::vector< double > m_entaRS
rescaled entrance angle for the hit
Definition: CDCDedxElectronCollectorModule.h:96
Belle2::CDCDedxElectronCollectorModule::m_charge
int m_charge
track momentum
Definition: CDCDedxElectronCollectorModule.h:86
Belle2::CDCDedxElectronCollectorModule::IsDocaRS
bool IsDocaRS
flag to write rescaled doca in tree
Definition: CDCDedxElectronCollectorModule.h:108
Belle2::CDCDedxElectronCollectorModule::m_doca
std::vector< double > m_doca
distance of closest approach for the hit
Definition: CDCDedxElectronCollectorModule.h:93
Belle2::CDCDedxElectronCollectorModule::IsBhabhaEvt
bool IsBhabhaEvt
flag to select bhabha event
Definition: CDCDedxElectronCollectorModule.h:111
Belle2::CDCDedxElectronCollectorModule::m_docaRS
std::vector< double > m_docaRS
rescaled distance of closest approach for the hit
Definition: CDCDedxElectronCollectorModule.h:95
Belle2::CDCDedxElectronCollectorModule::IsEnta
bool IsEnta
flag to write enta in tree
Definition: CDCDedxElectronCollectorModule.h:107
Belle2::CDCDedxElectronCollectorModule::m_dedxTracks
StoreArray< CDCDedxTrack > m_dedxTracks
Required array for CDCDedxTracks.
Definition: CDCDedxElectronCollectorModule.h:74
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDCDedxElectronCollectorModule::IsWire
bool IsWire
flag to write wire number in tree
Definition: CDCDedxElectronCollectorModule.h:104
Belle2::CDCDedxElectronCollectorModule::m_costh
double m_costh
track cos(theta)
Definition: CDCDedxElectronCollectorModule.h:84
Belle2::CDCDedxElectronCollectorModule::m_wire
std::vector< int > m_wire
hit level information
Definition: CDCDedxElectronCollectorModule.h:91
Belle2::CDCDedxElectronCollectorModule::m_run
int m_run
run number
Definition: CDCDedxElectronCollectorModule.h:87
Belle2::CDCDedxElectronCollectorModule::IsRadBhabhaEvt
bool IsRadBhabhaEvt
flag to select radee event
Definition: CDCDedxElectronCollectorModule.h:112
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCDedxElectronCollectorModule::setEoverPCutValue
void setEoverPCutValue(double value)
Set range for EoP cut.
Definition: CDCDedxElectronCollectorModule.h:63
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::CDCDedxElectronCollectorModule::m_cuts
bool m_cuts
Electron collector variables.
Definition: CDCDedxElectronCollectorModule.h:70
Belle2::CDCDedxElectronCollectorModule::m_dedxhit
std::vector< double > m_dedxhit
dE/dx for the hit
Definition: CDCDedxElectronCollectorModule.h:97
Belle2::CDCDedxElectronCollectorModule::fSetEoverP
double fSetEoverP
Cut of E over P value.
Definition: CDCDedxElectronCollectorModule.h:81
Belle2::CDCDedxElectronCollectorModule::prepare
virtual void prepare() override
Create and book ROOT objects.
Definition: CDCDedxElectronCollectorModule.cc:60
Belle2::CDCDedxElectronCollectorModule::IsMom
bool IsMom
flag to write momentum in treet
Definition: CDCDedxElectronCollectorModule.h:101
Belle2::CDCDedxElectronCollectorModule::IsRun
bool IsRun
flag to write run number in tree
Definition: CDCDedxElectronCollectorModule.h:103
Belle2::CDCDedxElectronCollectorModule::Isdedxhit
bool Isdedxhit
flag to write dedxhits in tree
Definition: CDCDedxElectronCollectorModule.h:110
Belle2::CDCDedxElectronCollectorModule::m_enta
std::vector< double > m_enta
entrance angle for the hit
Definition: CDCDedxElectronCollectorModule.h:94
Belle2::CDCDedxElectronCollectorModule::CDCDedxElectronCollectorModule
CDCDedxElectronCollectorModule()
Constructor: Sets the description, the properties and the parameters of the module.
Definition: CDCDedxElectronCollectorModule.cc:30
Belle2::CDCDedxElectronCollectorModule::IsLayer
bool IsLayer
flag to write layer number in tree
Definition: CDCDedxElectronCollectorModule.h:105
Belle2::CDCDedxElectronCollectorModule::IsDoca
bool IsDoca
flag to write doca in tree
Definition: CDCDedxElectronCollectorModule.h:106
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCDedxElectronCollectorModule::m_tracks
StoreArray< Track > m_tracks
Required array for Tracks.
Definition: CDCDedxElectronCollectorModule.h:75
Belle2::CDCDedxElectronCollectorModule::m_DBWireGains
DBObjPtr< CDCDedxWireGain > m_DBWireGains
Wire gain DB object.
Definition: CDCDedxElectronCollectorModule.h:77
Belle2::CDCDedxElectronCollectorModule::m_layer
std::vector< int > m_layer
continuous layer number for the hit
Definition: CDCDedxElectronCollectorModule.h:92
Belle2::CDCDedxElectronCollectorModule::IsCosth
bool IsCosth
flag to write costh in tree
Definition: CDCDedxElectronCollectorModule.h:100
Belle2::CDCDedxElectronCollectorModule::collect
virtual void collect() override
Fill ROOT objects.
Definition: CDCDedxElectronCollectorModule.cc:114
Belle2::CDCDedxElectronCollectorModule::m_p
double m_p
track momentum
Definition: CDCDedxElectronCollectorModule.h:85
Belle2::CDCDedxElectronCollectorModule::enableTrgSel
bool enableTrgSel
flag to enable trigger skim selected in the module (off deafult)
Definition: CDCDedxElectronCollectorModule.h:113
Belle2::CDCDedxElectronCollectorModule::m_maxNumHits
int m_maxNumHits
module params
Definition: CDCDedxElectronCollectorModule.h:80
Belle2::CDCDedxElectronCollectorModule::m_TrgResult
StoreObjPtr< SoftwareTriggerResult > m_TrgResult
required input
Definition: CDCDedxElectronCollectorModule.h:73