ATLAS Offline Software
Bmumu_metadata.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
10 #include "Bmumu_metadata.h"
12 
13 namespace DerivationFramework {
14 
15  //--------------------------------------------------------------------------
16  Bmumu_metadata::Bmumu_metadata(const std::string& t,
17  const std::string& n,
18  const IInterface* p) :
20 
21  // configuration defaults etc.
22  recordPropertyI("verbose", 0);
23  recordPropertyB("isSimulation", false);
24  recordPropertyS("projectTag", "__NONE__");
25  recordPropertyB("isRelease21" , true);
26  recordPropertyS("mcCampaign", "__NONE__");
27  recordPropertyS("triggerStream", "__NONE__");
28 
29  // MC dataset number lists
30  recordPropertyVI("mcBsmumu" , {});
31  recordPropertyVI("mcBplusJpsiKplus" , {});
32  recordPropertyVI("mcBsJpsiPhi" , {});
33  recordPropertyVI("mcBplusJpsiPiplus", {});
34  recordPropertyVI("mcBhh" , {});
35 
36  // MC datasets without trigger information
37  recordPropertyVI("mcNoTrigger" , {});
38 
39  // special data runs
40  recordPropertyVI("specDataRuns", {});
41 
42  // special MC channels
43  recordPropertyVI("specMcChannels", {});
44 
45  // blind search
46  recordPropertyB("doBmumuBlinding" , true);
47  recordPropertyB("doCutBlinded" , true);
48  recordPropertyB("blindOnlyAllMuonsTight", true);
49  recordPropertyS("BlindingKey" , "");
50  recordPropertyS("BlindedVars" , "");
51  recordPropertyS("BlindingFlag" , "");
52 
53  // include trigger
54  recordPropertyB("doTriggerInfo" , true);
55 
56  // include soft B tagging vertex containers
57  recordPropertyB("doAddSoftBVertices" , true);
58 
59  // trigger navigation thinning
60  recordPropertyB("doTrigNavThinning", true);
61  recordPropertyVS("TrigNavThinList" , {});
62 
63  // wide mumu mass range
64  recordPropertyB("doUseWideMuMuMassRange", false);
65 
66  // use mass calculated using the combined muon track information in cuts?
67  recordPropertyB("useMuCalcMass", true);
68 
69  // use calibrated muons instead of the original ones
70  recordPropertyI("useCalibratedMuons", 0);
71 
72  // adjust primary track to muon kinematics for MUCALC mass
73  recordPropertyB("adjustMucalcKinematics", false);
74 
75  // add MUCALC mass from non-modified muons for debugging
76  recordPropertyB("addMucalcMassForDebug", false);
77 
78  // primary vertex types to consider for MinChi2ToAnyPV
79  recordPropertyVI("MinChi2ToAnyPVTypes", {1, 3});
80 
81  // JpsiFinder: muAndMu or TrackAndTrack option?
82  recordPropertyB("JfTwoMuons" , true );
83  recordPropertyB("JfTwoTracks", false);
84 
85  // JpsiFinder: TrackThresholdPt
86  recordPropertyD("JfTrackThresholdPt", 0.);
87 
88  // muon calibration and smearing tool configuration
89  recordPropertyS("McstYear" , "Data16");
90  recordPropertyS("McstRelease" , "_NONE_");
91  recordPropertyB("McstStatComb" , true);
92  recordPropertyB("McstSagittaCorr" , true);
93  recordPropertyS("McstSagittaRelease" , "_NONE_");
94  recordPropertyB("McstDoSagittaMCDistortion", false);
95  recordPropertyB("McstSagittaCorrPhaseSpace", true);
96 
97  // muon collections
98  recordPropertyS("MuonCollection" , "Muons");
99  recordPropertyS("CalMuonCollection" , "Muons");
100  recordPropertyS("UsedMuonCollection" , "Muons");
101  recordPropertyVS("AllMuonCollections", {} );
102 
103  // Global mass values (in MeV, from PDG 2015)
111 
112  // mass ranges
113  recordPropertyD("GlobalBMassUpperCut" , 7000.);
114  recordPropertyD("GlobalBMassLowerCut" , 3500.);
115  recordPropertyD("GlobalDiMuonMassUpperCut", 7000.);
116  recordPropertyD("GlobalDiMuonMassLowerCut", 2000.);
117  recordPropertyD("GlobalJpsiMassUpperCut" , 7000.);
118  recordPropertyD("GlobalJpsiMassLowerCut" , 2000.);
119  recordPropertyD("GlobalBlindUpperCut" , 5166.);
120  recordPropertyD("GlobalBlindLowerCut" , 5526.);
121  recordPropertyD("GlobalTrksMassUpperCut" , 7500.);
122  recordPropertyD("GlobalTrksMassLowerCut" , 3000.);
123 
124  // Global chi2 cut for vertexing
125  recordPropertyD("GlobalChi2CutBase", 15.0);
126  // Different chi2 cuts for 2-, 3- and 4-prong vertices
127  recordPropertyD("Chi2Cut2Prong" , 30.0);
128  recordPropertyD("Chi2Cut3Prong" , 45.0);
129  recordPropertyD("Chi2Cut4Prong" , 60.0);
130 
131  // Cut values for kaon candidates
132  recordPropertyD("GlobalKaonPtCut" , 1000.); // MeV
133  recordPropertyD("GlobalKaonEtaCut", 2.5 );
134 
135  // MCP cuts for JpsiFinder
136  recordPropertyB("useJpsiFinderMCPCuts", false);
137 
138  // reject muons in JpsiPlus1Track or JpsiPlus2Track finders
139  recordPropertyS("GlobalMuonsUsedInJpsi", "NONE"); // turn off by default
140 
141  // run number
142  recordPropertyI("runNumber", -1);
143 
144  // MC channel number
145  recordPropertyI("mcChNumber", -1);
146 
147  // channels to be processed
148  recordPropertyVS("doChannels", {});
149 
150  // vertex types to be done
151  recordPropertyI("doVertexType", 7);
152 
153  // minimum number of tracks in PV considered for PV association
154  recordPropertyI("minNTracksInPV", 0);
155 
156  // mode of minLogChi2ToAnyPV calculation
157  recordPropertyI("AddMinChi2ToAnyPVMode", 0);
158 
159  // record 3-dimensional proper time in addition
160  recordPropertyB("do3dProperTime", false);
161 
162  // thinning level
163  recordPropertyI("thinLevel", 0);
164 
165  // selection expression
166  recordPropertyS("SelExpression", "");
167 
168  // MC truth decay parents
169  recordPropertyVI("TruthDecayParents", {});
170 
171  // vertex isolation properties
172  recordPropertyVS("IsoTrackCategoryName" , {});
173  recordPropertyVS("IsoTrackCutLevel" , {});
174  recordPropertyVD("IsoTrackPtCut" , {});
175  recordPropertyVD("IsoTrackEtaCut" , {});
176  recordPropertyVI("IsoTrackPixelHits" , {});
177  recordPropertyVI("IsoTrackSCTHits" , {});
178  recordPropertyVI("IsoTrackbLayerHits" , {});
179  recordPropertyVI("IsoTrackIBLHits" , {});
180  recordPropertyVD("IsolationConeSizes" , {});
181  recordPropertyVD("IsoTrkImpLogChi2Max" , {});
182  recordPropertyVI("IsoDoTrkImpLogChi2Cut", {});
183  recordPropertyVL("useIsoTrackTypes" , {});
184  recordPropertyB("IsoUseOptimizedAlgo" , true);
185  recordPropertyS("IsoTvaWorkingPoint" , "Nominal");
186  recordPropertyVS("IsoIncludes" , {});
187 
188 
189  // muon isolation properties (muons of B candidate)
190  recordPropertyVS("MuIsoTrackCategoryName" , {});
191  recordPropertyVS("MuIsoTrackCutLevel" , {});
192  recordPropertyVD("MuIsoTrackPtCut" , {});
193  recordPropertyVD("MuIsoTrackEtaCut" , {});
194  recordPropertyVI("MuIsoTrackPixelHits" , {});
195  recordPropertyVI("MuIsoTrackSCTHits" , {});
196  recordPropertyVI("MuIsoTrackbLayerHits" , {});
197  recordPropertyVI("MuIsoTrackIBLHits" , {});
198  recordPropertyVD("MuIsolationConeSizes" , {});
199  recordPropertyVD("MuIsoTrkImpLogChi2Max" , {});
200  recordPropertyVI("MuIsoDoTrkImpLogChi2Cut", {});
201  recordPropertyVL("useMuIsoTrackTypes" , {});
202  recordPropertyS("MuIsoTvaWorkingPoint" , "Nominal");
203  recordPropertyVS("MuIsoIncludes" , {});
204 
205  // closest track properties
206  recordPropertyVS("CloseTrackCategoryName" , {});
207  recordPropertyVS("CloseTrackCutLevel" , {});
208  recordPropertyVD("CloseTrackPtCut" , {});
209  recordPropertyVD("CloseTrackEtaCut" , {});
210  recordPropertyVI("CloseTrackPixelHits" , {});
211  recordPropertyVI("CloseTrackSCTHits" , {});
212  recordPropertyVI("CloseTrackbLayerHits" , {});
213  recordPropertyVI("CloseTrackIBLHits" , {});
214  recordPropertyVL("useCloseTrackTypes" , {});
215  recordPropertyVS("CloseTrackChi2SetName" , {});
216  recordPropertyVI("CloseTrackCorrChi2" , {});
217  recordPropertyVB("CloseTrackMinDCAin3D" , {});
218  recordPropertyVD("CloseTrackMaxLogChi2" , {});
219  recordPropertyVD("NCloseTrackMaxLogChi2" , {});
220  recordPropertyS("CloseTrackTvaWorkingPoint", "Nominal");
221  recordPropertyVS("CloseTrackIncludes" , {});
222 
223  // debug track types for isolation and closest track tools
224  recordPropertyI("DebugTrackTypes", 0);
225 
226  // track-to-vertex association check tool
227  recordPropertyI("DebugTrkToVtxMaxEvents" , 0);
228 
229  // output containers and branch prefixes
230  // (mostly used for isolation tools)
231  recordPropertyS("TrkPartContName", "InDetTrackParticles");
232  recordPropertyS("PVContName" , "PrimaryVertices");
233  recordPropertyVS("VtxContNames" , {} );
234  recordPropertyVS("RefPVContNames", {} );
235  recordPropertyVS("BranchPrefixes", {} );
236 
237  }
238  //--------------------------------------------------------------------------
239 } // namespace
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
Bmumu_metadata.h
Store JO metadata specific to the Bmumu analysis.
DerivationFramework::BPhysMetadataBase::recordPropertyVD
virtual void recordPropertyVD(const std::string &name, const std::vector< double > &val)
Definition: BPhysMetadataBase.cxx:202
ParticleConstants::PDG2011::muonMassInMeV
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Definition: ParticleConstants.h:29
ParticleConstants::PDG2011::chargedKaonMassInMeV
constexpr double chargedKaonMassInMeV
the mass of the charged kaon (in MeV)
Definition: ParticleConstants.h:50
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ParticleConstants::PDG2011::BZeroMassInMeV
constexpr double BZeroMassInMeV
the mass of the neutral B0 meson (in MeV)
Definition: ParticleConstants.h:59
ParticleConstants::PDG2011::chargedPionMassInMeV
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
Definition: ParticleConstants.h:41
DerivationFramework::Bmumu_metadata::Bmumu_metadata
Bmumu_metadata(const std::string &t, const std::string &n, const IInterface *p)
Main constructor.
Definition: Bmumu_metadata.cxx:16
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
ParticleConstants.h
beamspotman.n
n
Definition: beamspotman.py:729
ParticleConstants::PDG2011::BPlusMassInMeV
constexpr double BPlusMassInMeV
the mass of the charged B meson (in MeV)
Definition: ParticleConstants.h:62
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::BPhysMetadataBase::recordPropertyVL
virtual void recordPropertyVL(const std::string &name, const std::vector< long > &val)
Definition: BPhysMetadataBase.cxx:196
ParticleConstants::PDG2011::JpsiMassInMeV
constexpr double JpsiMassInMeV
Definition: ParticleConstants.h:56
DerivationFramework::BPhysMetadataBase::recordPropertyVB
virtual void recordPropertyVB(const std::string &name, const std::vector< bool > &val)
Definition: BPhysMetadataBase.cxx:208
ParticleConstants::PDG2011::BsMassInMeV
constexpr double BsMassInMeV
the mass of the Bs meson (in MeV)
Definition: ParticleConstants.h:65
DerivationFramework::BPhysMetadataBase::recordPropertyS
virtual void recordPropertyS(const std::string &name, const std::string &val)
Definition: BPhysMetadataBase.cxx:185
DerivationFramework::BPhysMetadataBase::recordPropertyVI
virtual void recordPropertyVI(const std::string &name, const std::vector< int > &val)
Definition: BPhysMetadataBase.cxx:190
DerivationFramework::BPhysMetadataBase::recordPropertyVS
virtual void recordPropertyVS(const std::string &name, const std::vector< std::string > &val)
Definition: BPhysMetadataBase.cxx:214
DerivationFramework::BPhysMetadataBase::recordPropertyI
virtual void recordPropertyI(const std::string &name, int val)
Definition: BPhysMetadataBase.cxx:165
DerivationFramework::BPhysMetadataBase
Definition: BPhysMetadataBase.h:43