Belle II Software development
eclBhabhaTimeCalibrationValidationCollectorModule.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/* ECL headers. */
12#include <ecl/mapper/ECLChannelMapper.h>
13
14/* Basf2 headers. */
15#include <calibration/CalibrationCollectorModule.h>
16#include <framework/database/DBObjPtr.h>
17#include <framework/dataobjects/EventMetaData.h>
18#include <framework/dataobjects/EventT0.h>
19#include <framework/datastore/StoreArray.h>
20#include <mdst/dataobjects/SoftwareTriggerResult.h>
21
22class TTree ;
23
24namespace Belle2 {
29 class ECLDigit ;
30 class ECLCalDigit ;
31 class Track ;
32 class ECLCrystalCalib ;
33 class ECLCluster ;
34 class ECLChannelMapper;
35
36
42
43 public:
44
47
52
54 void inDefineHisto() override;
55
57 void prepare() override;
58
60 void collect() override;
61
62 private:
63
66
75 std::unique_ptr< Belle2::ECL::ECLChannelMapper> m_crystalMapper =
76 std::make_unique<Belle2::ECL::ECLChannelMapper>();
77
80
86
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_time_fromE1 = -1;
101 double m_tree_E0 = -1;
102 double m_tree_E1 = -1;
104 double m_tree_t0 = -1;
105 double m_tree_t0_unc = -1;
107 int m_NtightTracks = -1;
110 // for crate time plotting
112 std::vector<float> m_CrateTime;
113 std::vector<float> m_CrateTimeUnc;
118 int m_tree_crateid = -1;
119 double m_tree_tcrate = -1;
120 double m_tree_tcrate_unc = -1;
123 /*** tree branches END ***/
124
125 std::vector<float> m_EperCrys ;
127 double m_E_electron_clust = -1 ;
130 /****** Parameters for cuts ******/
133 double m_looseTrkZ0 ;
134 double m_tightTrkZ0 ;
135 double m_looseTrkD0 ;
136 double m_tightTrkD0 ;
140 } ;
142}
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
This module generates 'TimevsCrys' histogram to later (in eclBhabhaTAlgorithm) find time offset from ...
int m_tree_PreviousRun
Run number for the previous run for debug TTree output.
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.
DBObjPtr< Belle2::ECLChannelMap > m_channelMapDB
Mapper of ecl channels to various other objects, like crates.
void collect() override
Select events and crystals and accumulate histograms.
std::vector< float > m_CrateTimeUnc
uncertainty vector obtained from DB object
StoreArray< ECLCalDigit > m_eclCalDigitArray
Required input array of ECLCalDigits.
void inDefineHisto() override
Replacement for defineHisto() in CalibrationCollector modules.
std::unique_ptr< Belle2::ECL::ECLChannelMapper > m_crystalMapper
ECL object for keeping track of mapping between crystals and crates etc.
StoreObjPtr< SoftwareTriggerResult > m_TrgResult
Store array for Trigger selection.
Abstract base class for different kinds of events.