Belle II Software  release-05-02-19
eclTimeShiftsPlottingCollectorModule.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  * A code to collect just the calibration constants to be then plotted *
12  * by the algorithm to see how much they jump from run to run. This *
13  * collector does not need to look at individual events as the *
14  * calibration constants are constant over all the events in a single *
15  * file (run or bucket of data). *
16  **************************************************************************/
17 
18 #pragma once
19 
20 #include <framework/core/Module.h>
21 #include <ecl/utility/ECLChannelMapper.h>
22 #include <calibration/CalibrationCollectorModule.h>
23 #include <framework/database/DBObjPtr.h>
24 #include <framework/datastore/StoreArray.h>
25 #include <framework/dataobjects/EventMetaData.h>
26 
27 
28 class TTree;
29 
30 namespace Belle2 {
35  class ECLCrystalCalib;
36  class ECLReferenceCrystalPerCrateCalib;
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 
69  std::vector<float> m_CrystalTime;
70  std::vector<float> m_CrystalTimeUnc;
74  std::vector<float> m_CrateTime;
75  std::vector<float> m_CrateTimeUnc;
79  std::vector<short> m_RefCrystalsCalib;
83  /*** tree branches ***/
84  double m_crateTimeConst = -1;
85  double m_crystalTimeConst = -1;
86  double m_crateTimeConstUnc = -1;
87  double m_crystalTimeConstUnc = -1;
88  int m_crystalID = -1;
89  int m_crateID = -1;
90  int m_refCrystalID = -1;
91  int m_run = -1;
92  int m_exp = -1;
94  /*** tree branches END ***/
95 
96  int m_previousExp = -2;
99  int m_previousRun = -2;
103  const int NUM_CRYSTALS = 8736;
105  };
107 }
108 
Belle2::CalibrationCollectorModule
Calibration collector module base class.
Definition: CalibrationCollectorModule.h:44
Belle2::eclTimeShiftsPlottingCollectorModule::m_CrateTime
std::vector< float > m_CrateTime
vector obtained from DB object
Definition: eclTimeShiftsPlottingCollectorModule.h:74
Belle2::eclTimeShiftsPlottingCollectorModule::NUM_CRYSTALS
const int NUM_CRYSTALS
Number of crystals in the ECL.
Definition: eclTimeShiftsPlottingCollectorModule.h:103
Belle2::eclTimeShiftsPlottingCollectorModule::m_evtMetaData
StoreObjPtr< EventMetaData > m_evtMetaData
Event meta data.
Definition: eclTimeShiftsPlottingCollectorModule.h:81
Belle2::eclTimeShiftsPlottingCollectorModule::m_crateTimeConst
double m_crateTimeConst
crate time constant in ticks
Definition: eclTimeShiftsPlottingCollectorModule.h:84
Belle2::eclTimeShiftsPlottingCollectorModule::m_previousExp
int m_previousExp
Previous experiment number, in case we run over several runs.
Definition: eclTimeShiftsPlottingCollectorModule.h:96
Belle2::eclTimeShiftsPlottingCollectorModule::m_CrateTimeUnc
std::vector< float > m_CrateTimeUnc
uncertainty vector obtained from DB object
Definition: eclTimeShiftsPlottingCollectorModule.h:75
Belle2::eclTimeShiftsPlottingCollectorModule::collect
void collect() override
Select events and crystals and accumulate histograms.
Definition: eclTimeShiftsPlottingCollectorModule.cc:81
Belle2::eclTimeShiftsPlottingCollectorModule::m_previousRun
int m_previousRun
Previous run number, in case we run over several runs.
Definition: eclTimeShiftsPlottingCollectorModule.h:99
Belle2::eclTimeShiftsPlottingCollectorModule::m_run
int m_run
Current run number.
Definition: eclTimeShiftsPlottingCollectorModule.h:91
Belle2::eclTimeShiftsPlottingCollectorModule::prepare
void prepare() override
Define histograms and read payloads from DB.
Definition: eclTimeShiftsPlottingCollectorModule.cc:53
Belle2::eclTimeShiftsPlottingCollectorModule::m_crystalTimeConstUnc
double m_crystalTimeConstUnc
crystal time uncertainty in ticks
Definition: eclTimeShiftsPlottingCollectorModule.h:87
Belle2::eclTimeShiftsPlottingCollectorModule::eclTimeShiftsPlottingCollectorModule
eclTimeShiftsPlottingCollectorModule()
Module constructor.
Definition: eclTimeShiftsPlottingCollectorModule.cc:34
Belle2::eclTimeShiftsPlottingCollectorModule::m_refCrystalID
int m_refCrystalID
reference crystal identification number
Definition: eclTimeShiftsPlottingCollectorModule.h:90
Belle2::eclTimeShiftsPlottingCollectorModule::m_crystalID
int m_crystalID
crystal identification number
Definition: eclTimeShiftsPlottingCollectorModule.h:88
Belle2::eclTimeShiftsPlottingCollectorModule::m_crateTimeConstUnc
double m_crateTimeConstUnc
crate time uncertainty in ticks
Definition: eclTimeShiftsPlottingCollectorModule.h:86
Belle2::eclTimeShiftsPlottingCollectorModule::m_CrystalTimeUnc
std::vector< float > m_CrystalTimeUnc
vector obtained from DB object
Definition: eclTimeShiftsPlottingCollectorModule.h:70
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::eclTimeShiftsPlottingCollectorModule::m_RefCrystalsCalib
std::vector< short > m_RefCrystalsCalib
vector obtained from DB object
Definition: eclTimeShiftsPlottingCollectorModule.h:79
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::eclTimeShiftsPlottingCollectorModule::m_RefCrystalsCalibDB
DBObjPtr< ECLReferenceCrystalPerCrateCalib > m_RefCrystalsCalibDB
Crystal IDs of the one reference crystal per crate from database.
Definition: eclTimeShiftsPlottingCollectorModule.h:78
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::eclTimeShiftsPlottingCollectorModule::m_crateID
int m_crateID
crate identification number
Definition: eclTimeShiftsPlottingCollectorModule.h:89
Belle2::eclTimeShiftsPlottingCollectorModule::m_crystalTimeConst
double m_crystalTimeConst
crystal time constants in ticks
Definition: eclTimeShiftsPlottingCollectorModule.h:85
Belle2::eclTimeShiftsPlottingCollectorModule::~eclTimeShiftsPlottingCollectorModule
virtual ~eclTimeShiftsPlottingCollectorModule()
Module destructor.
Definition: eclTimeShiftsPlottingCollectorModule.cc:45
Belle2::eclTimeShiftsPlottingCollectorModule::m_CrystalTime
std::vector< float > m_CrystalTime
vector obtained from DB object
Definition: eclTimeShiftsPlottingCollectorModule.h:69
Belle2::eclTimeShiftsPlottingCollectorModule
This modules looks up crystal and crate time offset constants from the database and saves them to a t...
Definition: eclTimeShiftsPlottingCollectorModule.h:44
Belle2::eclTimeShiftsPlottingCollectorModule::inDefineHisto
void inDefineHisto() override
Replacement for defineHisto() in CalibrationCollector modules.
Definition: eclTimeShiftsPlottingCollectorModule.cc:49
Belle2::eclTimeShiftsPlottingCollectorModule::m_CrateTimeDB
DBObjPtr< ECLCrystalCalib > m_CrateTimeDB
Time offset from crate time calibration (also this calibration) from database.
Definition: eclTimeShiftsPlottingCollectorModule.h:73
Belle2::eclTimeShiftsPlottingCollectorModule::m_CrystalTimeDB
DBObjPtr< ECLCrystalCalib > m_CrystalTimeDB
Time offset from previous crystal time calibration (this calibration) from database.
Definition: eclTimeShiftsPlottingCollectorModule.h:68
Belle2::eclTimeShiftsPlottingCollectorModule::m_exp
int m_exp
Current experiment number.
Definition: eclTimeShiftsPlottingCollectorModule.h:92