Belle II Software development
eclee5x5Algorithm.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/geometry/ECLNeighbours.h>
13
14/* Basf2 headers. */
15#include <calibration/CalibrationAlgorithm.h>
16
17namespace Belle2 {
22 namespace ECL {
23
26 public:
27
30
32 virtual ~eclee5x5Algorithm() {}
33
35 void setOutputName(const std::string& outputName) {m_outputName = outputName;}
36
38 std::string getOutputName() {return m_outputName;}
39
41 void setMinEntries(int minEntries) {m_minEntries = minEntries;}
42
45
47 void setPayloadName(const std::string& payloadname) {m_payloadName = payloadname;}
48
50 std::string getPayloadName() {return m_payloadName;}
51
53 void setStoreConst(bool storeConst) {m_storeConst = storeConst;}
54
56 bool getStoreConst() {return m_storeConst;}
57
59 void setfracLo(double fracLo) {m_fracLo = fracLo;}
60
62 double getfracLo() {return m_fracLo;}
63
65 void setfracHiSym(double fracHiSym) {m_fracHiSym = fracHiSym;}
66
68 double getfracHiSym() {return m_fracHiSym;}
69
71 void setfracHiASym(double fracHiASym) {m_fracHiASym = fracHiASym;}
72
74 double getfracHiASym() {return m_fracHiASym;}
75
77 void setnsigLo(double nsigLo) {m_nsigLo = nsigLo;}
78
80 double getnsigLo() {return m_nsigLo;}
81
83 void setnsigHiSym(double nsigHiSym) {m_nsigHiSym = nsigHiSym;}
84
86 double getnsigHiSym() {return m_nsigHiSym;}
87
89 void setnsigHiASym(double nsigHiASym) {m_nsigHiASym = nsigHiASym;}
90
92 double getnsigHiASym() {return m_nsigHiASym;}
93
95 void setlastLoThetaID(int lastLoThetaID) {m_lastLoThetaID = lastLoThetaID;}
96
99
100 protected:
101
103 virtual EResult calibrate() override;
104
105 private:
106
108 std::string m_outputName = "eclee5x5Algorithm.root";
109 int m_minEntries = 150;
111 std::string m_payloadName = "ECLCrystalEnergy5x5";
112 bool m_storeConst = true;
114 double m_fracLo = 0.2;
115 double m_fracHiSym = 0.2;
116 double m_fracHiASym = 0.4;
117 double m_nsigLo = 2.5;
118 double m_nsigHiSym = 2.5;
119 double m_nsigHiASym = 2.0;
121 };
122 }
124} // namespace Belle2
125
126
Base class for calibration algorithms.
EResult
The result of calibration.
Class to get the neighbours for a given cell id.
Definition: ECLNeighbours.h:25
Calibrate ecl crystals using Bhabha events.
void setlastLoThetaID(int lastLoThetaID)
Setter for m_lastLoThetaID.
int m_minEntries
all crystals to be calibrated must have this many entries
double m_fracHiASym
or fracHiASym*peak, at low values of thetaID
void setMinEntries(int minEntries)
Setter for m_minEntries.
double getnsigHiSym()
Getter for m_nsigHiSym.
void setOutputName(const std::string &outputName)
Setter for m_outputName.
double getnsigLo()
Getter for m_nsigLo.
double getnsigHiASym()
Getter for m_nsigHiASym.
double m_fracLo
start dPhi fit where data is > fraclo*peak
double m_nsigHiASym
or mean+nsigHiASym*sigma at low thetaID
double getfracLo()
Getter for m_fracLo.
double m_nsigLo
dPhi region is mean - nsigLo*sigma
void setnsigHiSym(double nsigHiSym)
Setter for m_nsigHiSym.
std::string getOutputName()
Getter for m_outputName.
double getfracHiSym()
Getter for m_fracHiSym.
void setfracLo(double fracLo)
Setter for m_fracLo.
std::string m_payloadName
Name of the payload to be stored.
virtual ~eclee5x5Algorithm()
..Destructor
bool getStoreConst()
Getter for m_storeConst.
ECL::ECLNeighbours * m_eclNeighbours5x5
Neighbours, used to get nCrys per ring.
double getfracHiASym()
Getter for m_fracHiASym.
void setnsigHiASym(double nsigHiASym)
Setter for m_nsigHiASym.
void setfracHiASym(double fracHiASym)
Setter for m_fracHiASym.
void setPayloadName(const std::string &payloadname)
Setter for m_payloadName.
std::string m_outputName
..Parameters to control job to find energy calibration using Bhabhas
bool m_storeConst
write payload to localdb if true
int m_lastLoThetaID
use asymmetric dPhi range for thetaID<= this value
void setfracHiSym(double fracHiSym)
Setter for m_fracHiSym.
void setnsigLo(double nsigLo)
Setter for m_nsigLo.
std::string getPayloadName()
Getter for m_payloadname.
virtual EResult calibrate() override
..Run algorithm on events
double m_fracHiSym
end dPhi fit where data is > fracHiSym*peak
int getlastLoThetaID()
Getter for m_lastLoThetaID.
double m_nsigHiSym
to mean + nsigHiSym*sigma
void setStoreConst(bool storeConst)
Setter for m_storeConst.
int getMinEntries()
Getter for m_minEntries.
Abstract base class for different kinds of events.