![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <DiTauIDVarCalculator.h>
|
virtual void | print () const =0 |
| Print the state of the tool. More...
|
|
virtual void | print () const |
| Print the state of the tool. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
virtual StatusCode | initialize () override |
| Dummy implementation of the initialisation function. More...
|
|
virtual StatusCode | calculateIDVariables (const xAOD::DiTauJet &xDiTau) |
|
virtual StatusCode | execute (const xAOD::DiTauJet &xDiTau) override |
| Declare the interface that the class provides. More...
|
|
virtual std::string | getDecayMode () override |
|
virtual StatusCode | calculateHadHadIDVariables (const xAOD::DiTauJet &xDiTau) |
|
float | ditau_pt (const xAOD::DiTauJet &xDiTau) const |
|
float | f_core (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | f_subjet (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | f_subjets (const xAOD::DiTauJet &xDiTau) const |
|
float | f_track (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | R_max (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
int | n_tracks (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
int | n_othertrack (const xAOD::DiTauJet &xDiTau) const |
|
float | R_track (const xAOD::DiTauJet &xDiTau) const |
|
float | R_track_all (const xAOD::DiTauJet &xDiTau) const |
|
float | R_track_core (const xAOD::DiTauJet &xDiTau) const |
|
float | R_isotrack (const xAOD::DiTauJet &xDiTau) const |
|
float | R_core (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | R_tracks (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | mass_track (const xAOD::DiTauJet &xDiTau) const |
|
float | mass_track_core (const xAOD::DiTauJet &xDiTau) const |
|
float | mass_core (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | mass_track_all (const xAOD::DiTauJet &xDiTau) const |
|
float | mass_tracks (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | E_frac (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | R_subjets (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | d0_leadtrack (const xAOD::DiTauJet &xDiTau, int iSubjet) const |
|
float | f_isotracks (const xAOD::DiTauJet &xDiTau) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 40 of file DiTauIDVarCalculator.h.
◆ StoreGateSvc_t
◆ DecayChannel
◆ calculateHadHadIDVariables()
◆ calculateIDVariables()
◆ d0_leadtrack()
Definition at line 887 of file DiTauIDVarCalculator.cxx.
889 double pt_leadtrk = 0;
896 if ( iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
900 TLorentzVector tlvSubjet;
901 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
908 TLorentzVector tlvTrack;
910 for (
auto &xTrack: xTracks)
912 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
917 if (tlvTrack.DeltaR(tlvSubjet) < xDiTau.
auxdata<
float >(
"R_core"))
919 if (tlvTrack.Pt() > pt_leadtrk)
921 pt_leadtrk = tlvTrack.Pt();
922 d0 = (*xTrack)->d0();
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ decorNtracks()
Definition at line 956 of file DiTauIDVarCalculator.cxx.
960 Warning(
"decorNtracks()",
"Track links not available.");
961 return StatusCode::FAILURE;
964 int nSubjets = xDiTau.
auxdata<
int>(
"n_subjets");
966 float Rsubjet = xDiTau.
auxdata<
float>(
"R_subjet");
967 std::vector<int> nTracks(nSubjets, 0);
970 for (
const auto &xTrack: xTracks)
975 for (
int i=0;
i<nSubjets; ++
i)
977 TLorentzVector tlvSubjet = TLorentzVector();
978 tlvSubjet.SetPtEtaPhiE(xDiTau.
subjetPt(
i),
982 double dR = tlvSubjet.DeltaR((*xTrack)->p4());
985 if ((dR < Rsubjet) && (dR < dRmin))
991 if (itrmin > -1) nTracks[itrmin]++;
994 xDiTau.
auxdecor< std::vector<int> >(
"n_tracks") = nTracks;
996 return StatusCode::SUCCESS;
◆ detStore()
◆ ditau_pt()
◆ E_frac()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ f_core()
◆ f_isotracks()
Definition at line 930 of file DiTauIDVarCalculator.cxx.
940 TLorentzVector tlvIsoTrack;
942 for (
const auto& xIsoTrack: xIsoTracks)
944 tlvIsoTrack.SetPtEtaPhiE( (*xIsoTrack)->pt(),
949 iso_pt += tlvIsoTrack.Pt();
952 return iso_pt / xDiTau.
pt();
◆ f_subjet()
◆ f_subjets()
◆ f_track()
Definition at line 199 of file DiTauIDVarCalculator.cxx.
201 if (iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
212 TLorentzVector tlvSubjet;
213 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
218 TLorentzVector tlvTrack;
219 TLorentzVector tlvLeadTrack;
220 tlvLeadTrack.SetPtEtaPhiE( 0,0,0, 0);
222 for (
const auto &xTrack: xTracks)
229 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
234 if ( tlvSubjet.DeltaR(tlvTrack) < 0.2 )
236 if (tlvLeadTrack.Pt() < tlvTrack.Pt())
238 tlvLeadTrack = tlvTrack;
243 return tlvLeadTrack.Pt() / tlvSubjet.Pt();
◆ getDecayMode()
std::string DiTauIDVarCalculator::getDecayMode |
( |
| ) |
|
|
overrideprivatevirtual |
◆ getKey()
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getName
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The hashed key of the object in the store. If not found, an invalid (zero) key.
Definition at line 119 of file AsgTool.cxx.
121 #ifdef XAOD_STANDALONE
124 return evtStore()->event()->getKey( ptr );
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getName()
const std::string & asg::AsgTool::getName |
( |
const void * |
ptr | ) |
const |
|
inherited |
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getKey
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The string name of the object in the store. If not found, an empty string.
Definition at line 106 of file AsgTool.cxx.
108 #ifdef XAOD_STANDALONE
111 return evtStore()->event()->getName( ptr );
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ initialize()
StatusCode DiTauIDVarCalculator::initialize |
( |
| ) |
|
|
overrideprivatevirtual |
Dummy implementation of the initialisation function.
It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...
Reimplemented from asg::AsgTool.
Definition at line 56 of file DiTauIDVarCalculator.cxx.
63 ATH_MSG_ERROR(
"No Valid DecayChannel initialized. Valid options are: HadHad" );
64 return StatusCode::FAILURE;
67 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ mass_core()
Definition at line 680 of file DiTauIDVarCalculator.cxx.
688 if ( iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
692 TLorentzVector tlvallTracks;
697 TLorentzVector tlvSubjet;
698 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
703 TLorentzVector tlvTrack;
705 for (
const auto& xTrack: xTracks)
707 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
711 if ( tlvSubjet.DeltaR(tlvTrack) < xDiTau.
auxdata<
float >(
"R_core") )
714 tlvallTracks += tlvTrack;
718 if (tlvallTracks.M() < 0)
723 return tlvallTracks.M();
◆ mass_track()
Definition at line 771 of file DiTauIDVarCalculator.cxx.
779 TLorentzVector tlvallTracks;
783 TLorentzVector tlvTrack;
785 for (
const auto& xTrack: xTracks)
787 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
792 tlvallTracks += tlvTrack;
795 if (tlvallTracks.M() < 0)
799 return tlvallTracks.M();
◆ mass_track_all()
Definition at line 802 of file DiTauIDVarCalculator.cxx.
810 TLorentzVector tlvallTracks;
814 TLorentzVector tlvTrack;
816 for (
const auto& xTrack: xTracks)
818 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
823 tlvallTracks += tlvTrack;
829 TLorentzVector tlvIsoTrack;
831 for (
const auto& xIsoTrack: xIsoTracks)
833 tlvIsoTrack.SetPtEtaPhiE( (*xIsoTrack)->pt(),
838 tlvallTracks += tlvIsoTrack;
841 if (tlvallTracks.M() < 0)
846 return tlvallTracks.M();
◆ mass_track_core()
Definition at line 631 of file DiTauIDVarCalculator.cxx.
639 if (xDiTau.
auxdata<
int>(
"n_subjets") < 2) {
643 TLorentzVector tlvallTracks;
645 for (
int i = 0;
i<=1;
i++)
650 TLorentzVector tlvSubjet;
651 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(
i),
656 TLorentzVector tlvTrack;
658 for (
const auto& xTrack: xTracks)
660 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
664 if ( tlvSubjet.DeltaR(tlvTrack) < xDiTau.
auxdata<
float >(
"R_core") )
667 tlvallTracks += tlvTrack;
671 if (tlvallTracks.M() < 0)
676 return tlvallTracks.M();
◆ mass_tracks()
Definition at line 727 of file DiTauIDVarCalculator.cxx.
735 if ( iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
739 TLorentzVector tlvallTracks;
743 TLorentzVector tlvSubjet;
744 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
749 TLorentzVector tlvTrack;
751 for (
const auto& xTrack: xTracks)
753 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
757 if ( tlvSubjet.DeltaR(tlvTrack) < 0.2 )
759 tlvallTracks += tlvTrack;
763 if (tlvallTracks.M() < 0)
768 return tlvallTracks.M();
◆ msg() [1/2]
◆ msg() [2/2]
◆ msg_level_name()
const std::string & asg::AsgTool::msg_level_name |
( |
| ) |
const |
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
MSG::name( msg().level() )
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
- Returns
- The string name of the current minimum message level that's printed
Definition at line 101 of file AsgTool.cxx.
◆ msgLvl()
◆ n_isotrack()
◆ n_othertrack()
◆ n_subjets()
◆ n_track()
◆ n_tracks()
Definition at line 292 of file DiTauIDVarCalculator.cxx.
294 if (iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
298 if (!xDiTau.
isAvailable<std::vector<int>>(
"n_tracks"))
300 ATH_MSG_DEBUG(
"n_tracks decoration not available. Try with track links.");
310 TLorentzVector tlvSubjet;
311 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
316 TLorentzVector tlvTrack;
318 for (
const auto &xTrack: xTracks)
320 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
324 if ( tlvSubjet.DeltaR(tlvTrack) < 0.2 ) nTracks++;
330 return xDiTau.
auxdata<std::vector<int>>(
"n_tracks").at(iSubjet);
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ print() [1/2]
void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, top::TopObjectSelection, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ print() [2/2]
virtual void asg::IAsgTool::print |
( |
| ) |
const |
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, top::TopObjectSelection, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
◆ R_core()
Definition at line 389 of file DiTauIDVarCalculator.cxx.
398 if (iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
404 TLorentzVector tlvSubjet;
405 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
410 TLorentzVector tlvTrack;
412 for (
const auto& xTrack: xTracks)
414 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
419 if ( tlvSubjet.DeltaR(tlvTrack) < xDiTau.
auxdata<
float >(
"R_core" ) )
421 R_sum += tlvSubjet.DeltaR(tlvTrack)*tlvTrack.Pt();
◆ R_isotrack()
Definition at line 580 of file DiTauIDVarCalculator.cxx.
590 if (xDiTau.
auxdata<
int>(
"n_subjets") < 2) {
594 for (
int i = 0;
i<=1;
i++)
599 TLorentzVector tlvSubjet;
600 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(
i),
605 TLorentzVector tlvIsoTrack;
607 for (
const auto& xIsoTrack: xIsoTracks)
609 tlvIsoTrack.SetPtEtaPhiE( (*xIsoTrack)->pt(),
614 if (tlvSubjet.DeltaR(tlvIsoTrack) < 0.4)
616 R_sum += tlvSubjet.DeltaR(tlvIsoTrack)*tlvIsoTrack.Pt();
617 pt += tlvIsoTrack.Pt();
◆ R_max()
Definition at line 248 of file DiTauIDVarCalculator.cxx.
250 if (iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
256 TLorentzVector tlvSubjet;
257 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
262 TLorentzVector tlvTrack;
263 TLorentzVector tlvRmaxTrack;
265 for (
const auto &xTrack: xTracks)
267 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
272 if ( tlvSubjet.DeltaR(tlvTrack) < xDiTau.
auxdata<
float >(
"R_subjet") )
274 if (tlvTrack.DeltaR(tlvSubjet) > Rmax)
276 Rmax = tlvTrack.DeltaR(tlvSubjet);
◆ R_subjets()
Definition at line 860 of file DiTauIDVarCalculator.cxx.
863 if ( iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
872 TLorentzVector tlvLeadSubjet;
873 tlvLeadSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(0),
878 TLorentzVector tlvSubjet;
879 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
883 return tlvLeadSubjet.DeltaR(tlvSubjet);
◆ R_track()
Definition at line 485 of file DiTauIDVarCalculator.cxx.
494 if (xDiTau.
auxdata<
int>(
"n_subjets") < 2) {
498 for (
int i = 0;
i<=1;
i++)
503 TLorentzVector tlvSubjet;
504 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(
i),
509 TLorentzVector tlvTrack;
511 for (
const auto& xTrack: xTracks)
513 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
518 if (tlvSubjet.DeltaR(tlvTrack) < 0.2)
520 R_sum += tlvSubjet.DeltaR(tlvTrack)*tlvTrack.Pt();
◆ R_track_all()
Definition at line 533 of file DiTauIDVarCalculator.cxx.
543 for (
int i = 0;
i<xDiTau.
auxdata<
int>(
"n_subjets");
i++)
548 TLorentzVector tlvSubjet;
549 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(
i),
554 TLorentzVector tlvTrack;
556 for (
const auto& xTrack: xTracks)
558 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
563 if (tlvSubjet.DeltaR(tlvTrack) <= 0.2)
565 R_sum += tlvSubjet.DeltaR(tlvTrack)*tlvTrack.Pt();
◆ R_track_core()
Definition at line 435 of file DiTauIDVarCalculator.cxx.
444 if (xDiTau.
auxdata<
int>(
"n_subjets") < 2) {
449 for (
int i = 0;
i<=1;
i++)
454 TLorentzVector tlvSubjet;
455 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(
i),
460 TLorentzVector tlvTrack;
462 for (
const auto& xTrack: xTracks)
464 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
468 if ( tlvSubjet.DeltaR(tlvTrack) < xDiTau.
auxdata<
float >(
"R_core") )
471 R_sum += tlvSubjet.DeltaR(tlvTrack)*tlvTrack.Pt();
◆ R_tracks()
Definition at line 341 of file DiTauIDVarCalculator.cxx.
351 if (iSubjet < 0 || iSubjet >= xDiTau.
auxdata<
int>(
"n_subjets")) {
357 TLorentzVector tlvSubjet;
358 tlvSubjet.SetPtEtaPhiE( xDiTau.
subjetPt(iSubjet),
363 TLorentzVector tlvTrack;
365 for (
const auto& xTrack: xTracks)
367 tlvTrack.SetPtEtaPhiE( (*xTrack)->pt(),
372 if ( tlvSubjet.DeltaR(tlvTrack) < 0.2 )
375 R_sum += tlvSubjet.DeltaR(tlvTrack)*tlvTrack.Pt();
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_dDefault
float DiTauRecTools::DiTauIDVarCalculator::m_dDefault |
|
private |
◆ m_detStore
◆ m_DiTauContainerNameAux
std::string DiTauRecTools::DiTauIDVarCalculator::m_DiTauContainerNameAux |
|
private |
◆ m_eDecayChannel
DecayChannel DiTauRecTools::DiTauIDVarCalculator::m_eDecayChannel |
|
private |
◆ m_evtStore
◆ m_sDecayChannel
std::string DiTauRecTools::DiTauIDVarCalculator::m_sDecayChannel |
|
private |
◆ m_sDiTauContainerName
std::string DiTauRecTools::DiTauIDVarCalculator::m_sDiTauContainerName |
|
private |
◆ m_sTruthTauContainerName
std::string DiTauRecTools::DiTauIDVarCalculator::m_sTruthTauContainerName |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
virtual double pt() const
The transverse momentum ( ) of the particle.
float fCore(unsigned int numSubjet) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
float subjetPhi(unsigned int numSubjet) const
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Decorator< T, ALLOC >::reference_type auxdecor(const std::string &name) const
Fetch an aux decoration, as a non-const reference.
float subjetE(unsigned int numSubjet) const
virtual void setOwner(IDataHandleHolder *o)=0
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
float subjetEta(unsigned int numSubjet) const
virtual void renounce()=0
size_t nIsoTracks() const
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
bool isAvailable(const std::string &name, const std::string &clsname="") const
Check if a user property is available for reading or not.
#define ATH_MSG_WARNING(x)
T & auxdata(const std::string &name, const std::string &clsname="")
Fetch an aux data variable, as a non-const reference.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
const TrackParticleLinks_t & isoTrackLinks() const
float subjetPt(unsigned int numSubjet) const
const TrackParticleLinks_t & trackLinks() const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>