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/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
28namespace 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;
76 double m_setEoP;
79 double m_injRing{ -1};
80 double m_injTime{ -1};
83 double m_pt = -1;
84 double m_dedx{ -1};
85 double m_costh{ -1};
86 double m_p{ -1};
87 int m_charge{0};
88 int m_run{ -1};
89 int m_nhits{ -1};
92 std::vector<int> m_wire;
93 std::vector<int> m_layer;
94 std::vector<double> m_doca;
95 std::vector<double> m_enta;
96 std::vector<double> m_docaRS;
97 std::vector<double> m_entaRS;
98 std::vector<double> m_dedxhit;
99 std::vector<double> m_adccorr;
102 bool m_isMom;
103 bool m_isPt;
105 bool m_isRun;
106 bool m_isWire;
108 bool m_isDoca;
109 bool m_isEnta;
118 };
120}
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_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
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 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.
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 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
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.