Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
DerivationFramework::BdKstarMuMu_metadata Class Reference

Store JO metadata specific to the Bd->KstarMuMu analysis. More...

#include <BdKstarMuMu_metadata.h>

Inheritance diagram for DerivationFramework::BdKstarMuMu_metadata:
Collaboration diagram for DerivationFramework::BdKstarMuMu_metadata:

Public Member Functions

 BdKstarMuMu_metadata (const std::string &t, const std::string &n, const IInterface *p)
 Main constructor. More...
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
virtual StatusCode addBranches () const
 

Protected Member Functions

virtual void recordPropertyI (const std::string &name, int val)
 
virtual void recordPropertyL (const std::string &name, long val)
 
virtual void recordPropertyD (const std::string &name, double val)
 
virtual void recordPropertyB (const std::string &name, bool val)
 
virtual void recordPropertyS (const std::string &name, const std::string &val)
 
virtual void recordPropertyVI (const std::string &name, const std::vector< int > &val)
 
virtual void recordPropertyVL (const std::string &name, const std::vector< long > &val)
 
virtual void recordPropertyVD (const std::string &name, const std::vector< double > &val)
 
virtual void recordPropertyVB (const std::string &name, const std::vector< bool > &val)
 
virtual void recordPropertyVS (const std::string &name, const std::vector< std::string > &val)
 

Private Member Functions

virtual StatusCode saveMetaDataBPhys () const
 
virtual std::string buildFolderName (const std::string &fname="") const
 
virtual std::string vecToString (const std::vector< int > &v) const
 
virtual std::string vecToString (const std::vector< long > &v) const
 
virtual std::string vecToString (const std::vector< double > &v) const
 
virtual std::string vecToString (const std::vector< bool > &v) const
 
virtual std::string vecToString (const std::vector< std::string > &v) const
 

Private Attributes

ServiceHandle< StoreGateSvcm_outputMetaStore
 Object accessing the output metadata store. More...
 
std::string m_derivationName
 
std::string m_mdFolderName
 
std::string m_prefix
 
std::map< std::string, int > m_propInt
 
std::map< std::string, long > m_propLong
 
std::map< std::string, double > m_propDouble
 
std::map< std::string, bool > m_propBool
 
std::map< std::string, std::string > m_propString
 
std::map< std::string, std::vector< int > > m_propVInt
 
std::map< std::string, std::vector< long > > m_propVLong
 
std::map< std::string, std::vector< double > > m_propVDouble
 
std::map< std::string, std::vector< bool > > m_propVBool
 
std::map< std::string, std::vector< std::string > > m_propVString
 

Detailed Description

Store JO metadata specific to the Bd->KstarMuMu analysis.

Author
Pavel Reznicek pavel.nosp@m..rez.nosp@m.nicek.nosp@m.@cer.nosp@m.n.ch

Store JO metadata specific to the Bd->KstarMuMu analysis in the output file. This class inherits from BPhysMetadataBase.

Definition at line 34 of file BdKstarMuMu_metadata.h.

Constructor & Destructor Documentation

◆ BdKstarMuMu_metadata()

DerivationFramework::BdKstarMuMu_metadata::BdKstarMuMu_metadata ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Main constructor.

Definition at line 14 of file BdKstarMuMu_metadata.cxx.

16  :
18 
19  recordPropertyI("verbose" , 0); // verbose athena output
20  recordPropertyB("isSimulation" , false); // input data is MC simulation or real data
21  recordPropertyS("projectTag" , "__NONE__"); // copy reconstruction project tag
22  recordPropertyB("isRelease21" , true); // is processed in release 21
23  recordPropertyS("mcCampaign" , "__NONE__"); // what MC campaign is used
24  recordPropertyS("triggerStream", "__NONE__"); // what data stream is analyzed
25  recordPropertyI("runNumber" , -1); // run number from the input file
26 
27  recordPropertyB("looseCuts" , false); // apply loose cuts (debugging only)
28  recordPropertyB("skimTrig" , false); // skim data by selected triggers
29  recordPropertyB("skimData" , false); // skim data by passed B-candidates
30  recordPropertyB("thinData" , false); // thin ID tracks, muons and PVs
31  recordPropertyB("slimData" , false); // TODO: data slimming
32  recordPropertyB("thinMC" , false); // thin MC-truth (keep wide range of heavy hadrons)
33  recordPropertyB("thinMCsignal", false); // thin MC-truth to signal-only (keep only signal PDG b-hadrons)
34  recordPropertyB("trigObjects" , false); // store trigger objects for B-physics and muons
35 
36  recordPropertyS("version", "v1.0"); // derivation version (update with every update of the derivation)
37 
38  /*
39  Constants (in sync with the JpsiUpsilonTools)
40  */
41  recordPropertyD("mass_mu" , 105.658); // PDG: 105.6583745
42  recordPropertyD("mass_e" , 0.511); // PDG: 0.5109989461
43  recordPropertyD("mass_K" , 493.677); // PDG: 493.677
44  recordPropertyD("mass_pi" , 139.57 ); // PDG: 139.57039
45  recordPropertyD("mass_p" , 938.272); // PDG: 938.272081
46  recordPropertyD("mass_Jpsi" , 3096.916); // PDG:3096.900
47  recordPropertyD("mass_Kstar", 891.66 ); // PDG: 891.66
48  recordPropertyD("mass_Bd" , 5279.65 ); // PDG:5279.65
49  recordPropertyD("mass_Bs" , 5366.88 ); // PDG:5366.88
50 
51  } // AthAlgTool

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::BPhysMetadataBase::addBranches ( ) const
virtualinherited

Definition at line 91 of file BPhysMetadataBase.cxx.

91  {
92 
93  // nothing to do here
94  return StatusCode::SUCCESS;
95  }

◆ buildFolderName()

std::string DerivationFramework::BPhysMetadataBase::buildFolderName ( const std::string &  fname = "") const
privatevirtualinherited

Definition at line 149 of file BPhysMetadataBase.cxx.

149  {
150 
151  std::string result = fname;
152  if ( m_mdFolderName != "_NONE_" && m_mdFolderName != "" ) {
154  } else {
155  if ( m_derivationName != "_NOSUCHFORMAT_" && m_derivationName != "" ) {
157  } else {
158  // default to the tool's name
159  result += name();
160  }
161  }
162  return result;
163  }

◆ finalize()

StatusCode DerivationFramework::BPhysMetadataBase::finalize ( )
virtualinherited

Definition at line 83 of file BPhysMetadataBase.cxx.

83  {
84 
85  ATH_MSG_DEBUG("BPhysMetaDataBase::finalize()");
86 
87  // everything all right
88  return StatusCode::SUCCESS;
89  }

◆ initialize()

StatusCode DerivationFramework::BPhysMetadataBase::initialize ( )
virtualinherited

Definition at line 63 of file BPhysMetadataBase.cxx.

63  {
64 
65  ATH_MSG_DEBUG("BPhysMetaDataBase::initialize() -- begin");
66 
67  // handle general prefix
68  if ( m_prefix == "" ) {
69  if ( m_derivationName == "_NOSUCHFORMAT_" ) {
70  m_prefix = name() +"_";
71  } else {
72  m_prefix = m_derivationName + "_";
73  }
74  }
75 
77 
78  ATH_MSG_DEBUG("BPhysMetaDataBase::initialize() -- end");
79 
80  return StatusCode::SUCCESS;
81  }

◆ recordPropertyB()

void DerivationFramework::BPhysMetadataBase::recordPropertyB ( const std::string &  name,
bool  val 
)
protectedvirtualinherited

Definition at line 180 of file BPhysMetadataBase.cxx.

180  {
181  ATH_MSG_INFO("Calling recordProperty(bool)");
182  declareProperty(name, m_propBool[name] = val);
183  }

◆ recordPropertyD()

void DerivationFramework::BPhysMetadataBase::recordPropertyD ( const std::string &  name,
double  val 
)
protectedvirtualinherited

Definition at line 175 of file BPhysMetadataBase.cxx.

175  {
176  ATH_MSG_INFO("Calling recordProperty(double)");
177  declareProperty(name, m_propDouble[name] = val);
178  }

◆ recordPropertyI()

void DerivationFramework::BPhysMetadataBase::recordPropertyI ( const std::string &  name,
int  val 
)
protectedvirtualinherited

Definition at line 165 of file BPhysMetadataBase.cxx.

165  {
166  ATH_MSG_INFO("Calling recordProperty(int)");
167  declareProperty(name, m_propInt[name] = val);
168  }

◆ recordPropertyL()

void DerivationFramework::BPhysMetadataBase::recordPropertyL ( const std::string &  name,
long  val 
)
protectedvirtualinherited

Definition at line 170 of file BPhysMetadataBase.cxx.

170  {
171  ATH_MSG_INFO("Calling recordProperty(long)");
172  declareProperty(name, m_propLong[name] = val);
173  }

◆ recordPropertyS()

void DerivationFramework::BPhysMetadataBase::recordPropertyS ( const std::string &  name,
const std::string &  val 
)
protectedvirtualinherited

Definition at line 185 of file BPhysMetadataBase.cxx.

185  {
186  ATH_MSG_INFO("Calling recordProperty(string)");
187  declareProperty(name, m_propString[name] = val);
188  }

◆ recordPropertyVB()

void DerivationFramework::BPhysMetadataBase::recordPropertyVB ( const std::string &  name,
const std::vector< bool > &  val 
)
protectedvirtualinherited

Definition at line 208 of file BPhysMetadataBase.cxx.

209  {
210  ATH_MSG_INFO("Calling recordProperty(vector<bool>)");
211  declareProperty(name, m_propVBool[name] = val);
212  }

◆ recordPropertyVD()

void DerivationFramework::BPhysMetadataBase::recordPropertyVD ( const std::string &  name,
const std::vector< double > &  val 
)
protectedvirtualinherited

Definition at line 202 of file BPhysMetadataBase.cxx.

203  {
204  ATH_MSG_INFO("Calling recordProperty(vector<double>)");
205  declareProperty(name, m_propVDouble[name] = val);
206  }

◆ recordPropertyVI()

void DerivationFramework::BPhysMetadataBase::recordPropertyVI ( const std::string &  name,
const std::vector< int > &  val 
)
protectedvirtualinherited

Definition at line 190 of file BPhysMetadataBase.cxx.

191  {
192  ATH_MSG_INFO("Calling recordProperty(vector<int>)");
193  declareProperty(name, m_propVInt[name] = val);
194  }

◆ recordPropertyVL()

void DerivationFramework::BPhysMetadataBase::recordPropertyVL ( const std::string &  name,
const std::vector< long > &  val 
)
protectedvirtualinherited

Definition at line 196 of file BPhysMetadataBase.cxx.

197  {
198  ATH_MSG_INFO("Calling recordProperty(vector<long>)");
199  declareProperty(name, m_propVLong[name] = val);
200  }

◆ recordPropertyVS()

void DerivationFramework::BPhysMetadataBase::recordPropertyVS ( const std::string &  name,
const std::vector< std::string > &  val 
)
protectedvirtualinherited

Definition at line 214 of file BPhysMetadataBase.cxx.

215  {
216  ATH_MSG_INFO("Calling recordProperty(vector<string>)");
217  declareProperty(name, m_propVString[name] = val);
218  }

◆ saveMetaDataBPhys()

StatusCode DerivationFramework::BPhysMetadataBase::saveMetaDataBPhys ( ) const
privatevirtualinherited

Definition at line 103 of file BPhysMetadataBase.cxx.

103  {
104 
105  ATH_MSG_DEBUG("BPhysMetaDataBase::saveMetaDataBPhys() -- begin");
106 
107  std::string mdFolderKey = buildFolderName() + "_MetaData";
108  // protection
109  if ( m_outputMetaStore->contains< xAOD::FileMetaData >( mdFolderKey ) ) {
110  ATH_MSG_WARNING("saveMetaDataBPhys2: "
111  "xAOD::FileMetaData already in output: "
112  << mdFolderKey
113  << " -- BPhys metadata will NOT be saved!");
114  } else {
115  // create a FileMetaData object
116  auto fm = std::make_unique< xAOD::FileMetaData >();
117  auto fmAux = std::make_unique< xAOD::FileMetaDataAuxInfo >();
118  fm->setStore( fmAux.get() );
119 
120  // fill it
121  SG::Accessor<std::string> DerivationNameAcc(m_prefix+"DerivationName");
122  DerivationNameAcc(*fm) = m_derivationName;
123 
124  SG::Accessor<std::string> MetaDatafolderNameAcc(m_prefix+"MetaDataFolderName");
125  MetaDatafolderNameAcc(*fm) = m_mdFolderName;
126 
127  // fill it with contents of maps
128  SET_VALUES_IMP( int , m_propInt );
129  SET_VALUES_IMP( long , m_propLong );
130  SET_VALUES_IMP( double , m_propDouble );
131  SET_VALUES_IMP( bool , m_propBool );
132  SET_VALUES_IMP( std::string , m_propString );
133  SET_VALUES_IMP( std::vector<int> , m_propVInt );
134  SET_VALUES_IMP( std::vector<long> , m_propVLong );
135  SET_VALUES_IMP( std::vector<double> , m_propVDouble );
136  SET_VALUES_IMP( std::vector<bool> , m_propVBool );
137  SET_VALUES_IMP( std::vector<std::string>, m_propVString );
138 
139  // record it
140  ATH_CHECK( m_outputMetaStore->record( std::move(fm), mdFolderKey ) );
141  ATH_CHECK( m_outputMetaStore->record( std::move(fmAux),
142  mdFolderKey+"Aux." ) );
143  }
144 
145  return StatusCode::SUCCESS;
146  }

◆ vecToString() [1/5]

std::string DerivationFramework::BPhysMetadataBase::vecToString ( const std::vector< bool > &  v) const
privatevirtualinherited

Definition at line 250 of file BPhysMetadataBase.cxx.

250  {
251  std::string str("[");
252  for (unsigned int i=0; i<v.size(); ++i) {
253  str += std::to_string(v[i]);
254  if ( i < v.size()-1 ) str += ",";
255  }
256  str += "]";
257  return str;
258  }

◆ vecToString() [2/5]

std::string DerivationFramework::BPhysMetadataBase::vecToString ( const std::vector< double > &  v) const
privatevirtualinherited

Definition at line 240 of file BPhysMetadataBase.cxx.

240  {
241  std::string str("[");
242  for (unsigned int i=0; i<v.size(); ++i) {
243  str += std::to_string(v[i]);
244  if ( i < v.size()-1 ) str += ",";
245  }
246  str += "]";
247  return str;
248  }

◆ vecToString() [3/5]

std::string DerivationFramework::BPhysMetadataBase::vecToString ( const std::vector< int > &  v) const
privatevirtualinherited

Definition at line 220 of file BPhysMetadataBase.cxx.

220  {
221  std::string str("[");
222  for (unsigned int i=0; i<v.size(); ++i) {
223  str += std::to_string(v[i]);
224  if ( i < v.size()-1 ) str += ",";
225  }
226  str += "]";
227  return str;
228  }

◆ vecToString() [4/5]

std::string DerivationFramework::BPhysMetadataBase::vecToString ( const std::vector< long > &  v) const
privatevirtualinherited

Definition at line 230 of file BPhysMetadataBase.cxx.

230  {
231  std::string str("[");
232  for (unsigned int i=0; i<v.size(); ++i) {
233  str += std::to_string(v[i]);
234  if ( i < v.size()-1 ) str += ",";
235  }
236  str += "]";
237  return str;
238  }

◆ vecToString() [5/5]

std::string DerivationFramework::BPhysMetadataBase::vecToString ( const std::vector< std::string > &  v) const
privatevirtualinherited

Definition at line 260 of file BPhysMetadataBase.cxx.

260  {
261  std::string str("[");
262  for (unsigned int i=0; i<v.size(); ++i) {
263  str += "'";
264  str += v[i];
265  str += "'";
266  if ( i < v.size()-1 ) str += ",";
267  }
268  str += "]";
269  return str;
270  }

Member Data Documentation

◆ m_derivationName

std::string DerivationFramework::BPhysMetadataBase::m_derivationName
privateinherited

Definition at line 81 of file BPhysMetadataBase.h.

◆ m_mdFolderName

std::string DerivationFramework::BPhysMetadataBase::m_mdFolderName
privateinherited

Definition at line 82 of file BPhysMetadataBase.h.

◆ m_outputMetaStore

ServiceHandle< StoreGateSvc > DerivationFramework::BPhysMetadataBase::m_outputMetaStore
privateinherited

Object accessing the output metadata store.

Definition at line 78 of file BPhysMetadataBase.h.

◆ m_prefix

std::string DerivationFramework::BPhysMetadataBase::m_prefix
privateinherited

Definition at line 83 of file BPhysMetadataBase.h.

◆ m_propBool

std::map<std::string, bool> DerivationFramework::BPhysMetadataBase::m_propBool
privateinherited

Definition at line 89 of file BPhysMetadataBase.h.

◆ m_propDouble

std::map<std::string, double> DerivationFramework::BPhysMetadataBase::m_propDouble
privateinherited

Definition at line 88 of file BPhysMetadataBase.h.

◆ m_propInt

std::map<std::string, int> DerivationFramework::BPhysMetadataBase::m_propInt
privateinherited

Definition at line 86 of file BPhysMetadataBase.h.

◆ m_propLong

std::map<std::string, long> DerivationFramework::BPhysMetadataBase::m_propLong
privateinherited

Definition at line 87 of file BPhysMetadataBase.h.

◆ m_propString

std::map<std::string, std::string> DerivationFramework::BPhysMetadataBase::m_propString
privateinherited

Definition at line 90 of file BPhysMetadataBase.h.

◆ m_propVBool

std::map<std::string, std::vector<bool> > DerivationFramework::BPhysMetadataBase::m_propVBool
privateinherited

Definition at line 94 of file BPhysMetadataBase.h.

◆ m_propVDouble

std::map<std::string, std::vector<double> > DerivationFramework::BPhysMetadataBase::m_propVDouble
privateinherited

Definition at line 93 of file BPhysMetadataBase.h.

◆ m_propVInt

std::map<std::string, std::vector<int> > DerivationFramework::BPhysMetadataBase::m_propVInt
privateinherited

Definition at line 91 of file BPhysMetadataBase.h.

◆ m_propVLong

std::map<std::string, std::vector<long> > DerivationFramework::BPhysMetadataBase::m_propVLong
privateinherited

Definition at line 92 of file BPhysMetadataBase.h.

◆ m_propVString

std::map<std::string, std::vector<std::string> > DerivationFramework::BPhysMetadataBase::m_propVString
privateinherited

Definition at line 95 of file BPhysMetadataBase.h.


The documentation for this class was generated from the following files:
DerivationFramework::BPhysMetadataBase::recordPropertyD
virtual void recordPropertyD(const std::string &name, double val)
Definition: BPhysMetadataBase.cxx:175
DerivationFramework::BPhysMetadataBase::recordPropertyB
virtual void recordPropertyB(const std::string &name, bool val)
Definition: BPhysMetadataBase.cxx:180
DerivationFramework::BPhysMetadataBase::m_prefix
std::string m_prefix
Definition: BPhysMetadataBase.h:83
get_generator_info.result
result
Definition: get_generator_info.py:21
DerivationFramework::BPhysMetadataBase::saveMetaDataBPhys
virtual StatusCode saveMetaDataBPhys() const
Definition: BPhysMetadataBase.cxx:103
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
DerivationFramework::BPhysMetadataBase::BPhysMetadataBase
BPhysMetadataBase(const std::string &t, const std::string &n, const IInterface *p)
Definition: BPhysMetadataBase.cxx:45
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SET_VALUES_IMP
#define SET_VALUES_IMP(TYPE, MAP)
Definition: BPhysMetadataBase.cxx:97
DerivationFramework::BPhysMetadataBase::m_propVInt
std::map< std::string, std::vector< int > > m_propVInt
Definition: BPhysMetadataBase.h:91
DerivationFramework::BPhysMetadataBase::m_propBool
std::map< std::string, bool > m_propBool
Definition: BPhysMetadataBase.h:89
DerivationFramework::BPhysMetadataBase::buildFolderName
virtual std::string buildFolderName(const std::string &fname="") const
Definition: BPhysMetadataBase.cxx:149
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
python.CaloAddPedShiftConfig.str
str
Definition: CaloAddPedShiftConfig.py:42
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
xAOD::FileMetaData_v1
Class holding file-level metadata about an xAOD file.
Definition: FileMetaData_v1.h:34
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
DerivationFramework::BPhysMetadataBase::m_outputMetaStore
ServiceHandle< StoreGateSvc > m_outputMetaStore
Object accessing the output metadata store.
Definition: BPhysMetadataBase.h:78
DerivationFramework::BPhysMetadataBase::m_derivationName
std::string m_derivationName
Definition: BPhysMetadataBase.h:81
DerivationFramework::BPhysMetadataBase::m_propInt
std::map< std::string, int > m_propInt
Definition: BPhysMetadataBase.h:86
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
python.PyAthena.v
v
Definition: PyAthena.py:154
DerivationFramework::BPhysMetadataBase::m_propVBool
std::map< std::string, std::vector< bool > > m_propVBool
Definition: BPhysMetadataBase.h:94
DerivationFramework::BPhysMetadataBase::m_propVLong
std::map< std::string, std::vector< long > > m_propVLong
Definition: BPhysMetadataBase.h:92
DerivationFramework::BPhysMetadataBase::m_propString
std::map< std::string, std::string > m_propString
Definition: BPhysMetadataBase.h:90
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
DerivationFramework::BPhysMetadataBase::recordPropertyS
virtual void recordPropertyS(const std::string &name, const std::string &val)
Definition: BPhysMetadataBase.cxx:185
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
DerivationFramework::BPhysMetadataBase::m_propVString
std::map< std::string, std::vector< std::string > > m_propVString
Definition: BPhysMetadataBase.h:95
DerivationFramework::BPhysMetadataBase::m_propDouble
std::map< std::string, double > m_propDouble
Definition: BPhysMetadataBase.h:88
str
Definition: BTagTrackIpAccessor.cxx:11
DerivationFramework::BPhysMetadataBase::m_mdFolderName
std::string m_mdFolderName
Definition: BPhysMetadataBase.h:82
DerivationFramework::BPhysMetadataBase::m_propVDouble
std::map< std::string, std::vector< double > > m_propVDouble
Definition: BPhysMetadataBase.h:93
DerivationFramework::BPhysMetadataBase::recordPropertyI
virtual void recordPropertyI(const std::string &name, int val)
Definition: BPhysMetadataBase.cxx:165
DerivationFramework::BPhysMetadataBase::m_propLong
std::map< std::string, long > m_propLong
Definition: BPhysMetadataBase.h:87