Belle II Software  release-08-01-10
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 /* Basf2 headers. */
12 #include <calibration/CalibrationCollectorModule.h>
13 #include <framework/database/DBObjPtr.h>
14 #include <framework/datastore/StoreArray.h>
15 
16 namespace Belle2 {
22  class ECLDigit;
23  class EventMetaData;
24  class ECLCrystalCalib;
25 
30 
31  public:
32 
35 
37  void prepare() override;
38 
40  void collect() override;
41 
42  private:
43 
45  double m_minCrysE;
46  bool m_mockupL1;
47  double m_trigThreshold;
49  int iEvent = 0;
56  std::vector<short int> CenterCrys;
57  std::vector<short int> NeighbourA;
58  std::vector<short int> NeighbourB;
59  std::vector<int> FirstSet;
62  std::vector<float> EperCrys;
63  std::vector<bool> HitCrys;
64  std::vector<float> EnergyPerTC;
67  std::vector<short int> TCperCrys;
71  std::vector<float> ExpCosmicESame;
75  std::vector<float> ExpCosmicEDifferent;
79  std::vector<float> ElectronicsCalib;
83  std::vector<float> CosmicECalib;
84  };
86 }
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
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.