Belle II Software  release-05-01-25
KLMCalibrationChecker.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2020 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Giacomo De Pietro *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dataobjects/KLMElementNumbers.h>
15 
16 /* Belle 2 headers. */
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/dataobjects/EventMetaData.h>
19 #include <framework/datastore/StoreObjPtr.h>
20 #include <framework/logging/Logger.h>
21 
22 /* C++ headers. */
23 #include <string>
24 
25 namespace Belle2 {
34  class KLMCalibrationChecker {
35 
36  public:
37 
42 
47 
51  void setExperimentRun(int experiment, int run);
52 
56  void setTestingPayload(const std::string& testingPayloadName)
57  {
58  m_testingPayloadName = testingPayloadName;
59  }
60 
64  void setGlobalTag(const std::string& globalTagName)
65  {
66  m_GlobalTagName = globalTagName;
67  }
68 
72  void setAlignmentResultsFile(const std::string& alignmentResultsFile)
73  {
74  m_AlignmentResultsFile = alignmentResultsFile;
75  }
76 
81  const std::string& stripEfficiencyResultsFile)
82  {
83  m_StripEfficiencyResultsFile = stripEfficiencyResultsFile;
84  }
85 
89  void checkAlignment();
90 
94  void checkStripEfficiency();
95 
100 
101  private:
102 
106  void initializeDatabase();
107 
111  void resetDatabase();
112 
116  template<class T> void printPayloadInformation(DBObjPtr<T>& dbObject)
117  {
118  B2INFO("Analyzing the following payload:"
119  << LogVar("Global Tag", m_GlobalTagName.c_str())
120  << LogVar("Name", dbObject.getName())
121  << LogVar("Revision", dbObject.getRevision())
122  << LogVar("IoV", dbObject.getIoV()));
123  }
124 
126  int m_experiment;
127 
129  int m_run;
130 
132  std::string m_testingPayloadName = "";
133 
135  std::string m_GlobalTagName = "";
136 
138  std::string m_AlignmentResultsFile = "alignment.root";
139 
141  std::string m_StripEfficiencyResultsFile = "strip_efficiency.root";
142 
145 
148 
149  };
150 
152 }
153 
Belle2::KLMCalibrationChecker::checkStripEfficiency
void checkStripEfficiency()
Check strip efficiency.
Definition: KLMCalibrationChecker.cc:354
Belle2::KLMCalibrationChecker::initializeDatabase
void initializeDatabase()
Initialize the database.
Definition: KLMCalibrationChecker.cc:59
Belle2::KLMCalibrationChecker::checkAlignment
void checkAlignment()
Check alignment.
Definition: KLMCalibrationChecker.cc:89
Belle2::KLMCalibrationChecker::~KLMCalibrationChecker
~KLMCalibrationChecker()
Destructor.
Definition: KLMCalibrationChecker.cc:45
Belle2::KLMCalibrationChecker::m_StripEfficiencyResultsFile
std::string m_StripEfficiencyResultsFile
Output file for alignment results.
Definition: KLMCalibrationChecker.h:149
Belle2::KLMCalibrationChecker::setGlobalTag
void setGlobalTag(const std::string &globalTagName)
Set Global Tag name.
Definition: KLMCalibrationChecker.h:72
Belle2::KLMCalibrationChecker::createStripEfficiencyHistograms
void createStripEfficiencyHistograms()
Create strip efficiency histograms.
Definition: KLMCalibrationChecker.cc:399
Belle2::KLMCalibrationChecker::m_GlobalTagName
std::string m_GlobalTagName
Global Tag name.
Definition: KLMCalibrationChecker.h:143
Belle2::DBAccessorBase::getRevision
unsigned int getRevision() const
Return current revision of the object.
Definition: DBAccessorBase.h:139
Belle2::KLMCalibrationChecker::m_EventMetaData
StoreObjPtr< EventMetaData > m_EventMetaData
Event metadata.
Definition: KLMCalibrationChecker.h:155
Belle2::DBAccessorBase::getIoV
IntervalOfValidity getIoV() const
Return current IoV of the object.
Definition: DBAccessorBase.h:142
Belle2::KLMCalibrationChecker::m_run
int m_run
Run number.
Definition: KLMCalibrationChecker.h:137
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::KLMCalibrationChecker::printPayloadInformation
void printPayloadInformation(DBObjPtr< T > &dbObject)
Print payload information.
Definition: KLMCalibrationChecker.h:124
Belle2::KLMCalibrationChecker::m_ElementNumbers
const KLMElementNumbers * m_ElementNumbers
Element numbers.
Definition: KLMCalibrationChecker.h:152
Belle2::KLMCalibrationChecker::setStripEfficiencyResultsFile
void setStripEfficiencyResultsFile(const std::string &stripEfficiencyResultsFile)
Set strip efficiency results file.
Definition: KLMCalibrationChecker.h:88
Belle2::KLMCalibrationChecker::m_experiment
int m_experiment
Experiment number.
Definition: KLMCalibrationChecker.h:134
Belle2::KLMCalibrationChecker::setExperimentRun
void setExperimentRun(int experiment, int run)
Set experiment and run numbers.
Definition: KLMCalibrationChecker.cc:49
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
LogVar
Class to store variables with their name which were sent to the logging service.
Definition: LogVariableStream.h:24
Belle2::KLMCalibrationChecker::KLMCalibrationChecker
KLMCalibrationChecker()
Constructor.
Definition: KLMCalibrationChecker.cc:38
Belle2::KLMCalibrationChecker::m_testingPayloadName
std::string m_testingPayloadName
Testing payload location.
Definition: KLMCalibrationChecker.h:140
Belle2::KLMCalibrationChecker::setAlignmentResultsFile
void setAlignmentResultsFile(const std::string &alignmentResultsFile)
Set alignment results file.
Definition: KLMCalibrationChecker.h:80
Belle2::KLMCalibrationChecker::setTestingPayload
void setTestingPayload(const std::string &testingPayloadName)
Set testing payload name.
Definition: KLMCalibrationChecker.h:64
Belle2::KLMCalibrationChecker::resetDatabase
void resetDatabase()
Reset the database.
Definition: KLMCalibrationChecker.cc:81
Belle2::KLMElementNumbers
KLM element numbers.
Definition: KLMElementNumbers.h:37
Belle2::DBAccessorBase::getName
const std::string & getName() const
Return name under which the object is saved in the DBStore.
Definition: DBAccessorBase.h:69
Belle2::KLMCalibrationChecker::m_AlignmentResultsFile
std::string m_AlignmentResultsFile
Output file for alignment results.
Definition: KLMCalibrationChecker.h:146