11 #include "CxxUtils/make_unique.h"
20 using std::unique_ptr;
25 string appName =
argv[0];
26 if( !
xAOD::Init(appName.data()).isSuccess() ) {
27 Error( appName.data(),
"Could not call xAOD::Init()" );
36 Error( appName.data(),
"No file name received!" );
37 Error( appName.data(),
" Usage: %s [xAOD file name]", appName.data() );
44 unique_ptr<TFile>
fin( TFile::Open(
fileName.data(),
"READ" ) );
47 Long64_t
entries =
event->getEntries();
48 Info( appName.data(),
"Number of events in file: %llu",
entries );
50 auto eventSelTool = make_unique< HI::HIEventSelectionTool >(
"EventSelectionTool");
52 auto vertexSelTool = make_unique< HI::HIVertexSelectionTool >(
"vertexSelectionTool");
54 auto vtxTrkTool = make_unique<InDet::InDetTrackSelectionTool>(
"vtxTrkTool",
"HILoose");
55 ToolHandle< InDet::IInDetTrackSelectionTool > vtxTrkToolHandle = vtxTrkTool.get();
57 ASG_CHECK_SA( appName, vertexSelTool->setProperty(
"TrackSelectionTool", vtxTrkToolHandle ) );
59 ToolHandle< HI::IHIVertexSelectionTool > vertexSelToolHandle = vertexSelTool.get();
62 ASG_CHECK_SA( appName, eventSelTool->setProperty(
"VertexSelectionTool", vertexSelToolHandle ) );
67 Long64_t nVtxPass = 0;
68 Long64_t nVtxFail = 0;
69 Long64_t nEvtPass = 0;
70 Long64_t nEvtFail = 0;
71 Long64_t nEvtTotal = 0;
72 Long64_t nVtxTotal = 0;
74 for (Long64_t i_evt=0; i_evt<
entries; ++i_evt) {
75 event->getEntry( i_evt );
77 if( eventSelTool->accept()) {nEvtPass++; nEvtTotal++; }
78 else { nEvtFail++; nEvtTotal++; }
81 if ( !
event->
retrieve( vertices,
"PrimaryVertices" ).isSuccess() ) {
82 Error( appName.data(),
"Could not retrieve PrimaryVertices" );
86 for (
const auto* vtx : *vertices) {
87 if (vertexSelTool->accept( *vtx )) { nVtxPass++; nVtxTotal++; }
88 else { nVtxFail++; nVtxTotal++; }
92 Info( appName.data(),
"%llu evt passed.", nEvtPass );
93 Info( appName.data(),
"%llu evt failed.", nEvtFail );
94 Info( appName.data(),
"%llu evt Total.", nEvtTotal );
95 Info( appName.data(),
"%llu vtx passed.", nVtxPass );
96 Info( appName.data(),
"%llu vtx failed.", nVtxFail );
97 Info( appName.data(),
"%llu vtx Total.", nVtxTotal );
104 #endif // XAOD_STANDALONE