![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #include "fastjet/PseudoJet.hh"
12 const std::string&
name,
13 const IInterface *
parent) :
17 declareInterface<DiTauToolBase > (
this);
27 return StatusCode::SUCCESS;
32 const EventContext& )
const {
42 return StatusCode::FAILURE;
49 return StatusCode::FAILURE;
53 std::vector<fastjet::PseudoJet> vSubjets =
data->subjets;
54 if (vSubjets.empty()) {
55 ATH_MSG_WARNING(
"No subjets given. Continue without ID variable calculation.");
56 return StatusCode::SUCCESS;
61 std::vector<const CaloCell*> vSubjetCells =
data->subjetCells;
62 if (vSubjetCells.empty()) {
68 for (
unsigned int i = 0;
i < vSubjets.size();
i++) {
69 const fastjet::PseudoJet&
subjet = vSubjets.at(
i);
76 ATH_MSG_DEBUG(
"no cells are used for ID variable calculation. Continue.");
77 return StatusCode::SUCCESS;
81 for (
unsigned int i = 0;
i < vSubjets.size();
i++) {
82 const fastjet::PseudoJet&
subjet = vSubjets.at(
i);
86 TLorentzVector temp_sub_p4;
89 for (
const auto&
cc : vSubjetCells) {
91 TLorentzVector temp_cc_p4;
92 temp_cc_p4.SetPtEtaPhiM(
cc->pt(),
cc->eta(),
cc->phi(),
cc->m());
94 if (temp_cc_p4.DeltaR(temp_sub_p4) <
data->Rsubjet) {
98 if (temp_cc_p4.DeltaR(temp_sub_p4) <
data->Rcore) {
104 f_core = ptCore/ptAll;
112 return StatusCode::SUCCESS;
char data[hepevt_bytes_allocation_ATLAS]
virtual ~IDVarCalculator()
Destructor.
virtual StatusCode initialize() override
Tool initializer.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual StatusCode execute(DiTauCandidateData *data, const EventContext &ctx) const override
Execute - called for each Ditau candidate.
::StatusCode StatusCode
StatusCode definition for legacy code.
void setfCore(unsigned int numSubjet, float fCore)
IDVarCalculator(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
void setSubjetPtEtaPhiE(unsigned int numSubjet, float pt, float eta, float phi, float e)
#define ATH_MSG_WARNING(x)