ATLAS Offline Software
Loading...
Searching...
No Matches
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
9
10#include "Bmumu_metadata.h"
12
13namespace DerivationFramework {
14
15 //--------------------------------------------------------------------------
16 Bmumu_metadata::Bmumu_metadata(const std::string& t,
17 const std::string& n,
18 const IInterface* p) :
19 BPhysMetadataBase(t,n,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
Store JO metadata specific to the Bmumu analysis.
A number of constexpr particle constants to avoid hardcoding them directly in various places.
virtual void recordPropertyB(const std::string &name, bool val)
virtual void recordPropertyD(const std::string &name, double val)
virtual void recordPropertyVD(const std::string &name, const std::vector< double > &val)
virtual void recordPropertyS(const std::string &name, const std::string &val)
virtual void recordPropertyVI(const std::string &name, const std::vector< int > &val)
BPhysMetadataBase(const std::string &t, const std::string &n, const IInterface *p)
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)
virtual void recordPropertyVL(const std::string &name, const std::vector< long > &val)
virtual void recordPropertyI(const std::string &name, int val)
Bmumu_metadata(const std::string &t, const std::string &n, const IInterface *p)
Main constructor.
THE reconstruction tool.
constexpr double muonMassInMeV
the mass of the muon (in MeV)
constexpr double chargedKaonMassInMeV
the mass of the charged kaon (in MeV)
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
constexpr double BZeroMassInMeV
the mass of the neutral B0 meson (in MeV)
constexpr double BPlusMassInMeV
the mass of the charged B meson (in MeV)
constexpr double BsMassInMeV
the mass of the Bs meson (in MeV)