Belle II Software  release-06-02-00
eclCosmicECollectorModule.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 //Framework
12 #include <framework/database/DBObjPtr.h>
13 #include <framework/datastore/StoreArray.h>
14 
15 //Calibration
16 #include <calibration/CalibrationCollectorModule.h>
17 
18 namespace Belle2 {
24  class ECLDigit;
25  class EventMetaData;
26  class ECLCrystalCalib;
27 
32 
33  public:
34 
37 
39  void prepare() override;
40 
42  void collect() override;
43 
44  private:
45 
47  double m_minCrysE;
48  bool m_mockupL1;
49  double m_trigThreshold;
51  int iEvent = 0;
58  std::vector<short int> CenterCrys;
59  std::vector<short int> NeighbourA;
60  std::vector<short int> NeighbourB;
61  std::vector<int> FirstSet;
64  std::vector<float> EperCrys;
65  std::vector<bool> HitCrys;
66  std::vector<float> EnergyPerTC;
69  std::vector<short int> TCperCrys;
73  std::vector<float> ExpCosmicESame;
77  std::vector<float> ExpCosmicEDifferent;
81  std::vector<float> ElectronicsCalib;
85  std::vector<float> CosmicECalib;
86  };
88 }
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:95
class eclCosmicECollectorModule.
DBObjPtr< ECLCrystalCalib > m_ECLExpCosmicEDifferent
Expected energies from database; neighbours in different ThetaID rings.
DBObjPtr< ECLCrystalCalib > m_CosmicECalib
Existing single crystal calibration from DB; will be updated by CAF.
std::vector< float > CosmicECalib
vector obtained from DB object
std::vector< int > FirstSet
First set of 3 crystals for each crystalID.
StoreArray< ECLDigit > m_eclDigitArray
Required input array of eclDigits.
std::vector< float > EnergyPerTC
Energy (GeV) per trigger cell.
std::vector< float > EperCrys
Energy related.
StoreObjPtr< EventMetaData > m_evtMetaData
Store array: EventMetaData.
std::vector< float > ElectronicsCalib
vector obtained from DB object
bool m_mockupL1
Calculate energy per trigger cell in lieu of trigger simulation (false)
std::vector< float > ExpCosmicEDifferent
vector obtained from DB object
std::vector< bool > HitCrys
true if energy>m_minCrysE
DBObjPtr< ECLCrystalCalib > m_ECLExpCosmicESame
Expected energies from database; neighbours in the same ThetaID ring.
std::vector< short int > NeighbourA
if this crystal is > threshold
DBObjPtr< ECLCrystalCalib > m_ElectronicsCalib
Electronics calibration from database.
std::vector< short int > NeighbourB
and this crystal is > threshold
std::vector< float > ExpCosmicESame
vector obtained from DB object
double m_trigThreshold
Minimum energy in trigger cell, if required (0.1 GeV)
double m_minCrysE
Parameters to control the job.
std::vector< short int > TCperCrys
Trigger.
std::vector< short int > CenterCrys
Sets of three crystals that define a useful cosmic.
Abstract base class for different kinds of events.