36 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
operator()(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> in,
37 ROOT::VecOps::RVec<int> index);
41 build_D0(
float arg_mass,
float arg_p,
bool arg_filterPV);
45 ROOT::VecOps::RVec<FCCAnalysesComposite>
operator() (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
46 ROOT::VecOps::RVec<edm4hep::TrackState> tracks,
47 ROOT::VecOps::RVec<int> pions,
48 ROOT::VecOps::RVec<int> kaons,
49 ROOT::VecOps::RVec<int> pvindex);
53 sel_tau23pi(
float arg_masslow,
float arg_masshigh,
float arg_p,
54 float arg_angle,
bool arg_rho);
60 ROOT::VecOps::RVec<FCCAnalysesComposite2>
operator() (ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
61 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
74 ROOT::VecOps::RVec<int>
operator() (ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
78 ROOT::VecOps::RVec<edm4hep::TrackState>
get_pseudotrack(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
79 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
82 ROOT::VecOps::RVec<FCCAnalysesComposite2>
build_tau23pi(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
83 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
85 ROOT::VecOps::RVec<FCCAnalysesComposite2>
build_B2Kstee(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
86 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
88 ROOT::VecOps::RVec<FCCAnalysesComposite2>
build_B2Kstmumu(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
89 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
91 ROOT::VecOps::RVec<FCCAnalysesComposite2>
build_Bd2KstNuNu(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
92 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
94 ROOT::VecOps::RVec<FCCAnalysesComposite2>
build_Bs2PhiNuNu(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
95 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
97 ROOT::VecOps::RVec<FCCAnalysesComposite2>
build_Bd2MuMu(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
98 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
101 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC>
get_MCVertexObject(ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
102 ROOT::VecOps::RVec<int> ind);
104 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex>
114 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> mcver,
115 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> reco,
116 ROOT::VecOps::RVec<edm4hep::TrackState> tracks,
117 ROOT::VecOps::RVec<int> recin, ROOT::VecOps::RVec<int> mcin,
118 bool ComputeMomentaAtVertex =
true);
120 ROOT::VecOps::RVec<float>
get_Vertex_mass(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
121 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> reco);
123 ROOT::VecOps::RVec<float>
get_Vertex_x(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
125 ROOT::VecOps::RVec<float>
get_Vertex_y(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
127 ROOT::VecOps::RVec<float>
get_Vertex_z(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
129 ROOT::VecOps::RVec<float>
get_Vertex_xErr(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
131 ROOT::VecOps::RVec<float>
get_Vertex_yErr(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
133 ROOT::VecOps::RVec<float>
get_Vertex_zErr(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
135 ROOT::VecOps::RVec<float>
get_Vertex_chi2(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
137 ROOT::VecOps::RVec<int>
get_Vertex_isPV(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
139 ROOT::VecOps::RVec<int>
get_Vertex_ntracks(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
141 ROOT::VecOps::RVec<float>
get_Vertex_d2PV(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
144 ROOT::VecOps::RVec<float>
get_Vertex_d2PVError(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
147 ROOT::VecOps::RVec<int>
get_Vertex_indMC(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
148 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> mcver);
150 ROOT::VecOps::RVec<int>
get_Vertex_indMC(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
152 ROOT::VecOps::RVec<float>
get_Vertex_d2MC(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
153 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> mcver,
154 ROOT::VecOps::RVec<int> mcind,
157 std::vector<std::vector<int>>
get_Vertex_ind(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
159 float get_d0(TVector3 x, TVector3 p);
160 float get_z0(TVector3 x, TVector3 p);
163 ROOT::VecOps::RVec<TVector3>
get_MCVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex);
165 ROOT::VecOps::RVec<float>
get_MCVertex_x(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex);
167 ROOT::VecOps::RVec<float>
get_MCVertex_y(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex);
169 ROOT::VecOps::RVec<float>
get_MCVertex_z(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex);
171 ROOT::VecOps::RVec<int>
get_NTracksMCVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex);
173 std::vector< std::vector<int> >
get_MCindMCVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex);
175 std::vector<std::vector<int>>
get_MCpdgMCVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex,
176 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc);
178 std::vector<std::vector<int>>
get_MCpdgMotherMCVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex,
179 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc);
181 std::vector<std::vector<int>>
get_MCpdgGMotherMCVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex,
182 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc);
184 ROOT::VecOps::RVec<int>
get_MCMother1(ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
185 ROOT::VecOps::RVec<int> ind);
187 ROOT::VecOps::RVec<int>
get_MCMother2(ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
188 ROOT::VecOps::RVec<int> ind);
190 ROOT::VecOps::RVec<int>
get_MCDaughter1(ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
191 ROOT::VecOps::RVec<int> ind);
193 ROOT::VecOps::RVec<int>
get_MCDaughter2(ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
194 ROOT::VecOps::RVec<int> ind);
196 ROOT::VecOps::RVec<int>
get_MCMother2(ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
197 ROOT::VecOps::RVec<int> ind);
200 ROOT::VecOps::RVec<FCCAnalysesComposite>
add_truthmatched(ROOT::VecOps::RVec<FCCAnalysesComposite> comp,
201 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
202 ROOT::VecOps::RVec<int> rp2mc,
203 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
204 ROOT::VecOps::RVec<int> ind);
206 ROOT::VecOps::RVec<FCCAnalysesComposite2>
add_truthmatched2(ROOT::VecOps::RVec<FCCAnalysesComposite2> comp,
207 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
208 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
209 ROOT::VecOps::RVec<int> rp2mc,
210 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
211 ROOT::VecOps::RVec<int> ind);
214 ROOT::VecOps::RVec<int>
get_trueVertex(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex,
215 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc,
216 ROOT::VecOps::RVec<int> ind,
221 bool isPV(edm4hep::ReconstructedParticleData recop,
222 ROOT::VecOps::RVec<int> pvindex);
225 ROOT::VecOps::RVec<edm4hep::MCParticleData> in,
226 ROOT::VecOps::RVec<int> ind);
229 ROOT::VecOps::RVec<edm4hep::MCParticleData> in,
230 ROOT::VecOps::RVec<int> ind);
233 edm4hep::MCParticleData in,
234 ROOT::VecOps::RVec<int> ind);
240 edm4hep::VertexData pv);
243 edm4hep::VertexData v2,
247 edm4hep::VertexData v2,
259 ROOT::VecOps::RVec<int>
get_compmc(ROOT::VecOps::RVec<FCCAnalysesComposite> in);
277 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
280 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
281 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
285 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
286 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
293 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
294 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
297 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
298 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
307 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
310 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
311 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
316 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
320 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
324 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
326 ROOT::VecOps::RVec<float>
get_trackd0(ROOT::VecOps::RVec<edm4hep::TrackState> in);
327 ROOT::VecOps::RVec<float>
get_trackz0(ROOT::VecOps::RVec<edm4hep::TrackState> in);
332 ROOT::VecOps::RVec<FCCAnalysesComposite>
build_Bu2D0Pi(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
333 ROOT::VecOps::RVec<FCCAnalysesComposite> d0,
334 ROOT::VecOps::RVec<int> pions);
337 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
PID(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
338 ROOT::VecOps::RVec<int> recind,
339 ROOT::VecOps::RVec<int> mcind,
340 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc);
342 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>
get_RP_atVertex(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
343 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
347 float build_invmass(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
348 ROOT::VecOps::RVec<int> index);
350 TLorentzVector
build_tlv(ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
351 ROOT::VecOps::RVec<int> index);
354 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
355 ROOT::VecOps::RVec<float> thrust);
358 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop,
359 ROOT::VecOps::RVec<float> thrust);
371 ROOT::VecOps::RVec<ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>>
build_rho(ROOT::VecOps::RVec<FCCAnalysesComposite2> in,
372 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex,
373 ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData> recop);
375 ROOT::VecOps::RVec<float>
get_mass(ROOT::VecOps::RVec<ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>> in,
378 ROOT::VecOps::RVec<float>
get_px(ROOT::VecOps::RVec<ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>> in,
381 ROOT::VecOps::RVec<float>
get_py(ROOT::VecOps::RVec<ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>> in,
384 ROOT::VecOps::RVec<float>
get_pz(ROOT::VecOps::RVec<ROOT::VecOps::RVec<edm4hep::ReconstructedParticleData>> in,
388 float get_p(edm4hep::ReconstructedParticleData in);
390 ROOT::VecOps::RVec<edm4hep::TrackState>
get_truetrack(ROOT::VecOps::RVec<int> in,
391 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex,
392 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc);
394 int get_PV_ntracks(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
395 int hasPV(ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertex> vertex);
401 int get_Npos(ROOT::VecOps::RVec<float> in);
402 int get_Nneg(ROOT::VecOps::RVec<float> in);
404 ROOT::VecOps::RVec<edm4hep::MCParticleData>
build_truerho(ROOT::VecOps::RVec<int> vertexind,
405 ROOT::VecOps::RVec<VertexingUtils::FCCAnalysesVertexMC> vertex,
406 ROOT::VecOps::RVec<edm4hep::MCParticleData> mc);
410 ROOT::VecOps::RVec<float> thrust);