Belle II Software  release-06-00-14
eclGammaGammaECollectorModule.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 //Calibration
12 #include <calibration/CalibrationCollectorModule.h>
13 
14 //Framework
15 #include <framework/database/DBObjPtr.h>
16 #include <framework/datastore/StoreArray.h>
17 
18 namespace Belle2 {
23  class ECLCrystalCalib;
24  class TRGSummary;
25  class EventMetaData;
26  class Track;
27  class ECLCluster;
28  class ECLDigit;
29 
32 
33  public:
34 
37 
39  void prepare() override;
40 
42  void collect() override;
43 
44  private:
46  double m_thetaLabMinDeg{0.};
47  double m_thetaLabMaxDeg{180.};
48  double m_minPairMass;
49  double m_mindPhi;
50  double m_maxTime;
52  bool m_requireL1;
63  double thetaLabMin{ -1.0};
64  double thetaLabMax{ -1.0};
65  bool storeCalib = true;
66  std::vector<float> EperCrys;
68  double minTrkpt = 0.3;
69  double maxZ0 = 4.;
70  double maxD0 = 2.;
71  double minpValue = 0.001;
72  int minCDChits = 5;
77  std::vector<float> ExpGammaGammaE;
81  std::vector<float> ElectronicsCalib;
85  std::vector<float> GammaGammaECalib;
87  };
89 }
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
Calibration collector module that uses e+e- --> gamma gamma to do ECL single crystal energy calibrati...
DBObjPtr< ECLCrystalCalib > m_ECLExpGammaGammaE
Expected energies from database.
double maxD0
(cm) maximum abs(D0) of a good track
double minTrkpt
(GeV/c) minimum pt of a good track
StoreArray< ECLDigit > m_eclDigitArray
Required input array of ECLDigits.
DBObjPtr< ECLCrystalCalib > m_GammaGammaECalib
Existing single crystal calibration from DB; will be updated by CAF.
bool m_requireL1
require events to satisfy a level 1 trigger (true)
double m_maxTime
maximum photon (time - <t>)/dt99 (1)
double m_mindPhi
minimum delta phi between clusters (179 deg)
StoreArray< ECLCluster > m_eclClusterArray
Required input array of ECLClusters.
StoreObjPtr< TRGSummary > m_TRGResults
dataStore TRGSummary
std::vector< float > ExpGammaGammaE
vector obtained from DB object
double thetaLabMin
Some other useful quantities.
bool storeCalib
force the input calibration constants to be saved first event
std::vector< float > EperCrys
ECL digit energy for each crystal.
void collect() override
Select events and crystals and accumulate histograms.
double m_minPairMass
minimum invariant mass of the pair of photons (9 GeV/c^2)
StoreObjPtr< EventMetaData > m_evtMetaData
dataStore EventMetaData
std::vector< float > ElectronicsCalib
vector obtained from DB object
eclGammaGammaECollectorModule()
Constructor: Sets the description, the properties and the parameters of the module.
int minCDChits
minimum CDC hits for a good track
double minpValue
minimum p value of a good track
void prepare() override
Define histograms and read payloads from DB.
double maxZ0
(cm) maximum abs(Z0) of a good track
double thetaLabMax
m_thetaLabMaxDeg converted to radians (coneversion in Module::init)
double m_thetaLabMaxDeg
maximum photon theta in lab (180 degrees)
double m_thetaLabMinDeg
Parameters to control the job.
DBObjPtr< ECLCrystalCalib > m_ElectronicsCalib
Electronics calibration from database.
bool m_measureTrueEnergy
use eclCalDigit to determine MC deposited energy (false)
std::vector< float > GammaGammaECalib
vector obtained from DB object
StoreArray< Track > m_trackArray
Required arrays.
Abstract base class for different kinds of events.