3 #include "TClonesArray.h"
5 #include "StMuDSTMaker/COMMON/StMuDst.h"
6 #include "StMuDSTMaker/COMMON/StMuPrimaryVertex.h"
7 #include "StMuDSTMaker/COMMON/StMuMcVertex.h"
17 tvx::RootFile(prgOpts, option, ftitle, compress)
33 hc<StarEventHistContainer>(
"event")->
FillHists(event);
37 TClonesArray *muMcVertices =
event.mcArray(0);
38 StMuMcVertex *mcVertex =
static_cast<StMuMcVertex*
>(muMcVertices->UncheckedAt(idTruth - 1));
40 TClonesArray *primaryVertices =
event.primaryVertices();
41 int numPrimaryVertices = primaryVertices->GetEntriesFast();
42 StMuPrimaryVertex *recoVertex =
nullptr;
43 StMuPrimaryVertex *recoVertexMaxRank =
nullptr;
44 double maxRank = -DBL_MAX;
47 for (
int iVertex = 0; iVertex < numPrimaryVertices; iVertex++)
49 StMuPrimaryVertex *testRecoVertex = (StMuPrimaryVertex *) primaryVertices->UncheckedAt(iVertex);
54 if (testRecoVertex && testRecoVertex->idTruth() == mcVertex->Id()) {
55 recoVertex = testRecoVertex;
58 if (testRecoVertex->ranking() > maxRank) {
59 maxRank = testRecoVertex->ranking();
60 recoVertexMaxRank = testRecoVertex;
64 hc<StarEventHistContainer>(
"event")->FillEfficyHists(event, *mcVertex, recoVertex, recoVertexMaxRank);
70 hc<StarVertexHistContainer>(
"vertex")->
FillHists(vertex, mcVertex);
76 for (
const auto& decayVtx : decayVertices)
78 switch(decayVtx.parent)
80 case DecayParticle_t::Lambda:
81 case DecayParticle_t::AntiLambda:
82 hc<DecayVertexHists>(
"vertex_decay_lambda")->
FillHists(vertex, decayVtx);
84 case DecayParticle_t::Kaon:
85 hc<DecayVertexHists>(
"vertex_decay_kaon")->
FillHists(vertex, decayVtx);
94 hc<StarVertexHistContainer>(
"vertex_hft")->
FillHists(vertex, mcVertex);
100 hc<StarVertexHistContainer>(
"vertex_maxrank")->
FillHists(vertex, mcVertex);
VertexRootFile(tvx::ProgramOptions &prgOpts, Option_t *option="", const char *ftitle="", Int_t compress=1)
void FillHistsMaxRank(const StMuPrimaryVertex &vertex, const StMuMcVertex *mcVertex=nullptr)
void FillHistsHftTracks(const StMuPrimaryVertex &vertex, const StMuMcVertex *mcVertex=nullptr)
void FillHists(const StMuDst &event)