|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #include "GaudiKernel/SystemOfUnits.h"
29 return StatusCode::FAILURE;
37 ATH_MSG_ERROR(
"Trying to configure hypo with no pT bins. This is probably a configuration mistake.");
38 return StatusCode::FAILURE;
41 for(
size_t j=0; j<
m_ptBins.size(); j++){
45 return StatusCode::FAILURE;
48 for (std::vector<float>::size_type
i=0;
i<
m_bins[j];++
i) {
60 return StatusCode::SUCCESS;
70 ATH_MSG_DEBUG(
"Accept property is set: taking all the events");
79 if(!
muon->primaryTrackParticle())
return false;
81 const xAOD::TrackParticle* tr =
muon->trackParticle(xAOD::Muon::TrackParticleType::ExtrapolatedMuonSpectrometerTrackParticle);
88 std::vector<float> fexPt, fexEta, fexPhi, selPt, selEta, selPhi;
95 auto monitorIt =
Monitored::Group(
m_monTool, muonPtMon, muonEtaMon, muonPhiMon, muonPtSelMon, muonEtaSelMon, muonPhiSelMon);
102 fexEta.push_back(tr->
eta());
103 fexPhi.push_back(tr->
phi());
108 for (std::vector<float>::size_type
k=0;
k<
m_bins[0]; ++
k) {
115 selEta.push_back(tr->
eta());
116 selPhi.push_back(tr->
phi());
120 <<
" with Charge " << tr->
charge()
122 <<
" so hypothesis is " << (
result?
"true":
"false"));
133 bool passCut =
false;
135 const xAOD::TrackParticle* metrack =
muon->trackParticle( xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle );
136 float reducedChi2 = -10;
139 reducedChi2 =
muon->primaryTrackParticle()->chiSquared()/
muon->primaryTrackParticle()->numberDoF();
152 size_t numTrigger =
m_ptBins.size();
153 size_t numMuon=toolInput.size();
162 return StatusCode::SUCCESS;
170 for(
auto&
tool : toolInput) {
180 return StatusCode::SUCCESS;
189 for(
size_t cutIndex=0; cutIndex <
m_ptBins.size(); ++cutIndex) {
190 size_t elementIndex{0};
191 for(
auto&
tool : toolInput) {
195 passingSelection[cutIndex].push_back(elementIndex);
205 if(passingSelection[cutIndex].
empty()){
206 ATH_MSG_DEBUG(
"No muons passed the selection "<<cutIndex<<
" rejecting...");
207 return StatusCode::SUCCESS;
210 std::set<size_t> passingIndices;
213 if(passingIndices.empty()) {
215 return StatusCode::SUCCESS;
217 for(
auto i : passingIndices) {
223 return StatusCode::SUCCESS;
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Group
Properties of a chain group.
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
TrigCompositeUtils::DecisionID numeric() const
numeric ID
float charge() const
Returns the charge.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
bool msgLvl(const MSG::Level lvl) const
#define ATH_MSG_VERBOSE(x)
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
::StatusCode StatusCode
StatusCode definition for legacy code.
Header file to be included by clients of the Monitored infrastructure.
void elementsInUniqueCombinations(const Index2DVec &indices, std::set< size_t > &participants, std::function< bool(const Index1DVec &)> &&filter)
bool absEta(const xAOD::TauJet &tau, double &out)
std::vector< Index1DVec > Index2DVec
Class describing a TrackParticle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)