|
ATLAS Offline Software
|
Go to the documentation of this file.
8 const std::string&
name,
9 const IInterface *
parent) :
13 declareInterface<DiTauToolBase > (
this);
23 return StatusCode::SUCCESS;
28 const EventContext& )
const {
38 return StatusCode::FAILURE;
45 return StatusCode::FAILURE;
49 std::vector<fastjet::PseudoJet> vSubjets =
data->subjets;
50 if (vSubjets.empty()) {
51 ATH_MSG_WARNING(
"No subjets given. Continue without ID variable calculation.");
52 return StatusCode::SUCCESS;
57 std::vector<const CaloCell*> vSubjetCells =
data->subjetCells;
58 if (vSubjetCells.empty()) {
64 for (
unsigned int i = 0;
i < vSubjets.size();
i++) {
65 const fastjet::PseudoJet&
subjet = vSubjets.at(
i);
72 ATH_MSG_DEBUG(
"no cells are used for ID variable calculation. Continue.");
73 return StatusCode::SUCCESS;
77 for (
unsigned int i = 0;
i < vSubjets.size();
i++) {
78 const fastjet::PseudoJet&
subjet = vSubjets.at(
i);
82 TLorentzVector temp_sub_p4;
85 for (
const auto&
cc : vSubjetCells) {
87 TLorentzVector temp_cc_p4;
88 temp_cc_p4.SetPtEtaPhiM(
cc->pt(),
cc->eta(),
cc->phi(),
cc->m());
90 if (temp_cc_p4.DeltaR(temp_sub_p4) <
data->Rsubjet) {
94 if (temp_cc_p4.DeltaR(temp_sub_p4) <
data->Rcore) {
100 f_core = ptCore/ptAll;
108 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)