Belle II Software  release-08-00-10
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 /* ECL headers. */
18 #include <ecl/mapper/ECLChannelMapper.h>
19 
20 /* Basf2 headers. */
21 #include <calibration/CalibrationCollectorModule.h>
22 #include <framework/core/Module.h>
23 #include <framework/database/DBObjPtr.h>
24 #include <framework/dataobjects/EventMetaData.h>
25 #include <framework/dataobjects/EventT0.h>
26 #include <framework/datastore/StoreArray.h>
27 
28 class TTree ;
29 
30 namespace Belle2 {
35  class ECLDigit ;
36  class ECLCalDigit ;
37  class Track ;
38  class ECLCrystalCalib ;
39  class ECLCluster ;
40  class ECLChannelMapper;
41 
42 
48 
49  public:
50 
53 
58 
60  void inDefineHisto() override;
61 
63  void prepare() override;
64 
66  void collect() override;
67 
68  private:
69 
71  bool m_saveTree ;
72 
73  /****** Parameters END ******/
74 
75 
78  //StoreArray<ECLDigit> m_eclDigitArray; /**< Required input array of ECLDigits */
83 
88 
93  TTree* m_dbg_tree_event ;
95  /*** tree branches ***/
96  /*** See inDefineHisto method for branches description ***/
97  int m_tree_evt_num = -1;
98  int m_tree_run = -1;
99  int m_tree_cid = -1;
100  double m_tree_dt99 = -1;
101  double m_tree_time = -1;
103  double m_tree_time_fromE0 = -1;
104  double m_tree_E0 = -1;
106  double m_tree_t0 = -1;
107  double m_tree_t0_unc = -1;
109  int m_NtightTracks = -1;
110  int m_NphotonClusters = -1;
111  int m_NGoodClusters = -1;
113  /*** tree branches END ***/
114 
115  std::vector<float> m_EperCrys ;
118  double m_E_photon_clust = -1;
120  /****** Parameters for cuts ******/
121  short m_timeAbsMax ;
123  double m_looseTrkZ0 ;
124  double m_tightTrkZ0 ;
125  double m_looseTrkD0 ;
126  double m_tightTrkD0 ;
129  } ;
131 }
Calibration collector module base class.
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
This module generates 'TimevsCrys' histogram to later (in eclBhabhaTAlgorithm) find time offset from ...
StoreArray< ECLCluster > m_eclClusterArray
Required input array of ECLClusters.
short m_timeAbsMax
Events with abs(time) > m_timeAbsMax are excluded, mostly for histogram x-range purposes.
int m_tree_cid
ECL Cell ID (1..ECLElementNumbers::c_NCrystals) for debug TTree output.
void collect() override
Select events and crystals and accumulate histograms.
StoreArray< ECLCalDigit > m_eclCalDigitArray
Required input array of ECLCalDigits.
void inDefineHisto() override
Replacement for defineHisto() in CalibrationCollector modules.
Abstract base class for different kinds of events.