Belle II Software development
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/Track.h>
17#include <mdst/dataobjects/TrackFitResult.h>
18
19#include <framework/datastore/StoreArray.h>
20
21#include <cdc/dataobjects/CDCDedxTrack.h>
22#include <cdc/dbobjects/CDCDedxWireGain.h>
23
24
25namespace Belle2 {
35
36 public:
37
42
46 virtual void prepare() override;
47
51 virtual void collect() override;
52
56 void setEoverPCutValue(double value) {m_setEoP = value;}
57
58 private:
62 bool m_cuts;
63
70
73 double m_setEoP;
74
76 double m_injRing{ -1};
77 double m_injTime{ -1};
78
80 double m_pt = -1;
81 double m_dedx{ -1};
82 double m_costh{ -1};
83 double m_p{ -1};
84 int m_charge{0};
85 int m_run{ -1};
86 int m_nhits{ -1};
87
89 std::vector<int> m_wire;
90 std::vector<int> m_layer;
91 std::vector<double> m_doca;
92 std::vector<double> m_enta;
93 std::vector<double> m_docaRS;
94 std::vector<double> m_entaRS;
95 std::vector<double> m_dedxhit;
96 std::vector<double> m_adccorr;
97
98 bool m_isCosth;
99 bool m_isMom;
100 bool m_isPt;
102 bool m_isRun;
103 bool m_isWire;
105 bool m_isDoca;
106 bool m_isEnta;
115 };
116
117}
bool m_isEntaRS
flag to write rescaled enta in tree
bool m_isLayer
flag to write layer number in tree
bool m_isPt
flag to write trans momentum in treet
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
StoreArray< TrackFitResult > m_trackFitResults
Required array for TrackFitResults.
bool m_isTrgSel
flag to enable trigger skim selected in the module (off default)
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.
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 default)
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
CalibrationCollectorModule()
Constructor. Sets the default prefix for calibration dataobjects.
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.