Belle II Software  release-08-01-10
CDCDedxElectronCollectorModule.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 <vector>
12 
13 #include <calibration/CalibrationCollectorModule.h>
14 
15 #include <mdst/dataobjects/SoftwareTriggerResult.h>
16 #include <mdst/dataobjects/EventLevelTriggerTimeInfo.h>
17 #include <mdst/dataobjects/Track.h>
18 #include <mdst/dataobjects/TrackFitResult.h>
19 #include <mdst/dataobjects/ECLCluster.h>
20 
21 #include <framework/datastore/StoreArray.h>
22 #include <framework/dataobjects/EventMetaData.h>
23 
24 #include <reconstruction/dataobjects/CDCDedxTrack.h>
25 #include <reconstruction/dbobjects/CDCDedxWireGain.h>
26 
27 
28 namespace Belle2 {
38 
39  public:
40 
45 
49  virtual void prepare() override;
50 
54  virtual void collect() override;
55 
59  void setEoverPCutValue(double value) {m_setEoP = value;}
60 
61  private:
65  bool m_cuts;
75  int m_maxHits;
76  double m_setEoP;
79  double m_injRing{ -1};
80  double m_injTime{ -1};
83  double m_dedx{ -1};
84  double m_costh{ -1};
85  double m_p{ -1};
86  int m_charge{0};
87  int m_run{ -1};
88  int m_nhits{ -1};
91  std::vector<int> m_wire;
92  std::vector<int> m_layer;
93  std::vector<double> m_doca;
94  std::vector<double> m_enta;
95  std::vector<double> m_docaRS;
96  std::vector<double> m_entaRS;
97  std::vector<double> m_dedxhit;
98  std::vector<double> m_adccorr;
100  bool m_isCosth;
101  bool m_isMom;
102  bool m_isCharge;
103  bool m_isRun;
104  bool m_isWire;
105  bool m_isLayer;
106  bool m_isDoca;
107  bool m_isEnta;
108  bool m_isDocaRS;
109  bool m_isEntaRS;
110  bool m_isDedxhit;
111  bool m_isADCcorr;
112  bool m_isBhabha;
113  bool m_isRadee;
114  bool m_isTrgSel;
115  bool m_isInjTime;
116  };
118 }
A collector module for CDC dE/dx electron calibrations.
bool m_isEntaRS
flag to write rescaled enta in tree
bool m_isLayer
flag to write layer number in tree
bool m_isADCcorr
flag to write adc corrected in tree
bool m_isWire
flag to write wire number in tree
void setEoverPCutValue(double value)
Set range for EoP cut.
std::vector< double > m_adccorr
adc corrected for the hit
std::vector< int > m_wire
hit level information
std::vector< int > m_layer
continuous layer number for the hit
bool m_isRun
flag to write run number in tree
StoreArray< TrackFitResult > m_trackFitResults
Required array for TrackFitResults.
bool m_isTrgSel
flag to enable trigger skim selected in the module (off deafult)
StoreObjPtr< SoftwareTriggerResult > m_trgResult
required input
std::vector< double > m_dedxhit
dE/dx for the hit
std::vector< double > m_doca
distance of closest approach for the hit
int m_nhits
number of dE/dx hits on the track
virtual void collect() override
Fill ROOT objects.
StoreArray< Track > m_tracks
Required array for Tracks.
bool m_isDedxhit
flag to write dedxhits in tree
virtual void prepare() override
Create and book ROOT objects.
DBObjPtr< CDCDedxWireGain > m_DBWireGains
Wire gain DB object.
CDCDedxElectronCollectorModule()
Constructor: Sets the description, the properties and the parameters of the module.
std::vector< double > m_entaRS
rescaled entrance angle for the hit
bool m_isInjTime
flag to enable trigger skim (off deafult)
std::vector< double > m_enta
entrance angle for the hit
StoreArray< CDCDedxTrack > m_dedxTracks
Required array for CDCDedxTracks.
bool m_isDocaRS
flag to write rescaled doca in tree
std::vector< double > m_docaRS
rescaled distance of closest approach for the hit
Calibration collector module base class.
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
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
Abstract base class for different kinds of events.