Belle II Software  release-05-02-19
eclHadronTimeCalibrationValidationCollectorModule.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 /**************************************************************************
10  * Description: *
11  * Select photons from a hadronic event selection to be used as a *
12  * validation of the ECL timing calibration. *
13  **************************************************************************/
14 
15 #pragma once
16 
17 #include <framework/core/Module.h>
18 #include <ecl/utility/ECLChannelMapper.h>
19 
20 #include <calibration/CalibrationCollectorModule.h>
21 #include <framework/database/DBObjPtr.h>
22 #include <framework/datastore/StoreArray.h>
23 #include <framework/dataobjects/EventT0.h>
24 
25 class TTree ;
26 
27 namespace Belle2 {
32  class ECLDigit ;
33  class ECLCalDigit ;
34  class Track ;
35  class ECLCrystalCalib ;
36  class ECLCluster ;
37  class ECLChannelMapper;
38 
39 
45 
46  public:
47 
50 
55 
57  void inDefineHisto() override;
58 
60  void prepare() override;
61 
63  void collect() override;
64 
65  private:
66 
68  bool m_saveTree ;
69 
70  /****** Parameters END ******/
71 
72 
75  //StoreArray<ECLDigit> m_eclDigitArray; /**< Required input array of ECLDigits */
84 
89  TTree* m_dbg_tree_event ;
91  /*** tree branches ***/
92  /*** See inDefineHisto method for branches description ***/
93  int m_tree_evt_num = -1;
94  int m_tree_run = -1;
95  int m_tree_cid = -1;
96  double m_tree_dt99 = -1;
97  double m_tree_time = -1;
99  double m_tree_time_fromE0 = -1;
100  double m_tree_E0 = -1;
102  double m_tree_t0 = -1;
103  double m_tree_t0_unc = -1;
105  int m_NtightTracks = -1;
106  int m_NphotonClusters = -1;
107  int m_NGoodClusters = -1;
109  /*** tree branches END ***/
110 
111  std::vector<float> m_EperCrys ;
114  double m_E_photon_clust = -1;
116  /****** Parameters for cuts ******/
117  short m_timeAbsMax ;
119  double m_looseTrkZ0 ;
120  double m_tightTrkZ0 ;
121  double m_looseTrkD0 ;
122  double m_tightTrkD0 ;
125  } ;
127 }
Belle2::CalibrationCollectorModule
Calibration collector module base class.
Definition: CalibrationCollectorModule.h:44
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_saveTree
bool m_saveTree
If true, save TTree with more detailed event info.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:68
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_looseTrkD0
double m_looseTrkD0
Loose track d0 minimum cut.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:121
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tightTrkZ0
double m_tightTrkZ0
Tight track z0 minimum cut.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:120
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_dbg_tree_photonClusters
TTree * m_dbg_tree_photonClusters
Output tree with detailed event data.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:88
Belle2::eclHadronTimeCalibrationValidationCollectorModule
This module generates 'TimevsCrys' histogram to later (in eclBhabhaTAlgorithm) find time offset from ...
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:44
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_t0
double m_tree_t0
EventT0 (not from ECL) for debug TTree output.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:102
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_t0_unc
double m_tree_t0_unc
EventT0 uncertainty for debug TTree output.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:103
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_dt99
double m_tree_dt99
dt99 for cluster
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:96
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_eclCalDigitArray
StoreArray< ECLCalDigit > m_eclCalDigitArray
Required input array of ECLCalDigits.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:76
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_EperCrys
std::vector< float > m_EperCrys
ECL Cal digit energy for each crystal.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:111
Belle2::eclHadronTimeCalibrationValidationCollectorModule::eclHadronTimeCalibrationValidationCollectorModule
eclHadronTimeCalibrationValidationCollectorModule()
Module constructor.
Definition: eclHadronTimeCalibrationValidationCollectorModule.cc:44
Belle2::eclHadronTimeCalibrationValidationCollectorModule::prepare
void prepare() override
Define histograms and read payloads from DB.
Definition: eclHadronTimeCalibrationValidationCollectorModule.cc:113
Belle2::eclHadronTimeCalibrationValidationCollectorModule::collect
void collect() override
Select events and crystals and accumulate histograms.
Definition: eclHadronTimeCalibrationValidationCollectorModule.cc:182
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_evt_num
int m_tree_evt_num
Event number for debug TTree output.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:93
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_E0
double m_tree_E0
Highest E cluster energy.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:100
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_eventT0
StoreObjPtr< EventT0 > m_eventT0
StoreObjPtr for T0.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:83
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_cid
int m_tree_cid
ECL Cell ID (1..8736) for debug TTree output.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:95
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_E_photon_clust
double m_E_photon_clust
Photon cluster energy.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:114
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::eclHadronTimeCalibrationValidationCollectorModule::tracks
StoreArray< Track > tracks
Required input array of tracks.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:73
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_time
double m_tree_time
Calibrated time.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:97
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_NtightTracks
int m_NtightTracks
Number of tight tracks.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:105
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_timeAbsMax
short m_timeAbsMax
Events with abs(time) > m_timeAbsMax are excluded, mostly for histogram x-range purposes.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:117
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_NphotonClusters
int m_NphotonClusters
Number of photon clusters.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:106
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_looseTrkZ0
double m_looseTrkZ0
Loose track z0 minimum cut.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:119
Belle2::eclHadronTimeCalibrationValidationCollectorModule::inDefineHisto
void inDefineHisto() override
Replacement for defineHisto() in CalibrationCollector modules.
Definition: eclHadronTimeCalibrationValidationCollectorModule.cc:76
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_run
int m_tree_run
Run number for debug TTree output.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:94
Belle2::eclHadronTimeCalibrationValidationCollectorModule::~eclHadronTimeCalibrationValidationCollectorModule
virtual ~eclHadronTimeCalibrationValidationCollectorModule()
Module destructor.
Definition: eclHadronTimeCalibrationValidationCollectorModule.cc:72
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_dbg_tree_event
TTree * m_dbg_tree_event
debug output tree for per event
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:89
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tree_time_fromE0
double m_tree_time_fromE0
Calibrated time - highest E cluster.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:99
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_eclClusterArray
StoreArray< ECLCluster > m_eclClusterArray
Required input array of ECLClusters.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:74
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_NGoodClusters
int m_NGoodClusters
Number of good clusters.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:107
Belle2::eclHadronTimeCalibrationValidationCollectorModule::m_tightTrkD0
double m_tightTrkD0
Tight track d0 minimum cut.
Definition: eclHadronTimeCalibrationValidationCollectorModule.h:122