ATLAS Offline Software
Loading...
Searching...
No Matches
xAODJetCollector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGLHLTJETHYPO_XAODJETCOLLECTOR_H
6#define TRIGLHLTJETHYPO_XAODJETCOLLECTOR_H
7
8#include "xAODJet/Jet.h"
10
11#include <string>
12#include <vector>
13#include <map>
14
15// xAODJetCollector - an object send to a (possibly recursive)
16// TrigJetHypoToolHelpers to obtain xAOD jets
17
18using CI = std::map<std::string, HypoJetVector>::const_iterator;
19
21
22public:
23
24 void addJets(const HypoJetCIter& begin,
25 const HypoJetCIter& end,
26 int chainPartInd = -1);
27
28 std::vector<const xAOD::Jet*> xAODJets() const;
29
30 std::vector<const xAOD::Jet*> xAODJets(int chainPartInd) const;
31
32 HypoJetVector hypoJets() const;
33 HypoJetVector hypoJets(int chainPartInd) const;
34
35
36 std::size_t size() const;
37 bool empty() const;
38
39 std::vector<int> legInds() const;
40
41 private:
42
43 // store passing jets by chainPart index. this defaults to -1
44 // only leaf nodes have indices >= 0
45 std::map<int, HypoJetVector> m_jets;
46
47
48 std::vector<const xAOD::Jet*>
49
50 xAODJets_(const HypoJetVector::const_iterator begin,
51 const HypoJetVector::const_iterator end
52 ) const;
53
54};
55
56#endif
HypoJetVector::const_iterator HypoJetCIter
Definition HypoJetDefs.h:29
std::vector< pHypoJet > HypoJetVector
Definition HypoJetDefs.h:27
void addJets(const HypoJetCIter &begin, const HypoJetCIter &end, int chainPartInd=-1)
std::vector< const xAOD::Jet * > xAODJets() const
std::size_t size() const
std::vector< const xAOD::Jet * > xAODJets_(const HypoJetVector::const_iterator begin, const HypoJetVector::const_iterator end) const
HypoJetVector hypoJets() const
std::vector< int > legInds() const
std::map< int, HypoJetVector > m_jets
std::map< std::string, HypoJetVector >::const_iterator CI