Loading [MathJax]/extensions/tex2jax.js
|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #ifndef XAOD_STANDALONE // For now metadata is Athena-only
29 bool doTST,
bool doJVTCut,
33 return StatusCode::FAILURE;
39 return StatusCode::FAILURE;
44 return StatusCode::FAILURE;
49 std::string softTerm =
"SoftClus";
51 softTerm =
"PVSoftTrk";
52 }
else if (doJVTCut) {
53 ATH_MSG_WARNING(
"Requested CST MET and a JVT cut. This is not a recommended configuration - please consider switching to TST." );
68 if (acc_baseline(*
el)) {
72 if (ipart ==
el) {
veto =
true;
break;}
86 if (acc_baseline(*ph)) {
90 if (ipart == ph) {
veto =
true;
break;}
104 if (acc_baseline(*tau)) {
108 if (ipart == tau) {
veto =
true;
break;}
123 if (acc_baseline(*
mu)) {
126 if (ipart ==
mu) {
veto =
true;
break;}
136 ATH_MSG_WARNING(
"Invalid jet container specified for MET rebuilding!");
137 return StatusCode::SUCCESS;
157 return StatusCode::SUCCESS;
167 return StatusCode::FAILURE;
173 return StatusCode::FAILURE;
178 return StatusCode::FAILURE;
206 ATH_MSG_WARNING(
"Invalid jet container specified for MET rebuilding!");
207 return StatusCode::SUCCESS;
211 std::string softTerm =
"PVSoftTrk";
220 ATH_MSG_WARNING(
"GetMET: Failed to apply MET track (PVSoftTrk) systematics.");
226 ATH_MSG_WARNING(
"GetMET: Failed to apply MET track (RefJet) systematics.");
235 ATH_MSG_VERBOSE(
"Track MET: Missing Et (x,y): (" <<
met[
"Track"]->mpx() <<
"," <<
met[
"Track"]->mpy() <<
")");
237 return StatusCode::SUCCESS;
241 double &metSignificance,
242 bool doTST,
bool doJVTCut) {
244 std::string softTerm =
"SoftClus";
246 softTerm =
"PVSoftTrk";
247 }
else if (doJVTCut) {
248 ATH_MSG_WARNING(
"Requested CST MET and a JVT cut. This is not a recommended configuration - please consider switching to TST." );
257 return StatusCode::SUCCESS;
268 bool passPFlowCVCleaning =
true;
272 if (acc_passCrackVetoCleaning.isAvailable(*
el)) {
273 if (!acc_passCrackVetoCleaning(*
el)) {
274 passPFlowCVCleaning =
false;
278 ATH_MSG_WARNING(
"DFCommonCrackVetoCleaning variable is not available! Use p3830 onwards for PFlow jets!");
283 if (passPFlowCVCleaning &&
gamma) {
285 if (acc_passCrackVetoCleaning.isAvailable(*ph)) {
286 if (!acc_passCrackVetoCleaning(*ph)) {
287 passPFlowCVCleaning =
false;
291 ATH_MSG_WARNING(
"DFCommonCrackVetoCleaning variable is not available! Use p3830 onwards for PFlow jets!");
296 return passPFlowCVCleaning;
def retrieve(aClass, aKey=None)
bool IsPFlowCrackVetoCleaning(const xAOD::ElectronContainer *elec=nullptr, const xAOD::PhotonContainer *gamma=nullptr) const override final
Electron_v1 Electron
Definition of the current "egamma version".
virtual StatusCode rebuildJetMET(const std::string &metJetKey, const std::string &metSoftKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETContainer *metCoreCont, xAOD::MissingETAssociationHelper &helper, bool doJetJVT)=0
virtual StatusCode markInvisible(const xAOD::IParticleContainer *collection, xAOD::MissingETAssociationHelper &helper, xAOD::MissingETContainer *metCont)=0
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
StatusCode GetMETSig(xAOD::MissingETContainer &met, double &metSignificance, bool doTST=true, bool doJVTCut=true) override final
asg::AnaToolHandle< IMETMaker > m_metMaker
virtual double GetSignificance() const =0
#define ATH_MSG_VERBOSE(x)
Class providing the definition of the 4-vector interface.
StatusCode GetMET(xAOD::MissingETContainer &met, const xAOD::JetContainer *jet, const xAOD::ElectronContainer *elec=nullptr, const xAOD::MuonContainer *muon=nullptr, const xAOD::PhotonContainer *gamma=nullptr, const xAOD::TauJetContainer *taujet=nullptr, bool doTST=true, bool doJVTCut=true, const xAOD::IParticleContainer *invis=nullptr) override final
virtual StatusCode rebuildMET(const std::string &metKey, xAOD::Type::ObjectType metType, xAOD::MissingETContainer *metCont, const xAOD::IParticleContainer *collection, xAOD::MissingETAssociationHelper &helper, MissingETBase::UsageHandler::Policy objScale=MissingETBase::UsageHandler::PhysicsObject)=0
const DV * asDataVector() const
Return a pointer to this object, as a const DataVector.
StatusCode buildMETSum(const std::string &totalName, xAOD::MissingETContainer *metCont)
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a tau jet.
asg::AnaToolHandle< IMETSystematicsTool > m_metSystTool
bool isData() const override final
std::string m_inputMETCore
float averageInteractionsPerCrossing() const
Average interactions per crossing for all BCIDs - for out-of-time pile-up.
Container for xAOD::MissingET_v1 objects.
StatusCode GetTrackMET(xAOD::MissingETContainer &met, const xAOD::JetContainer *jet, const xAOD::ElectronContainer *elec=nullptr, const xAOD::MuonContainer *muon=nullptr) override final
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Class describing the basic event information.
Photon_v1 Photon
Definition of the current "egamma version".
struct TBPatternUnitContext Muon
@ Ok
The correction was done successfully.
std::string m_inputMETMap
#define ATH_MSG_WARNING(x)
DataVector adapter that acts like it holds const pointers.
asg::AnaToolHandle< IMETSignificance > m_metSignif
@ Tau
The object is a tau (jet)
virtual StatusCode rebuildTrackMET(const std::string &metJetKey, const std::string &metSoftKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETContainer *metCoreCont, xAOD::MissingETAssociationHelper &helper, bool doJetJVT)=0
std::vector< std::string > veto
these patterns are anded
void resetObjSelectionFlags()
virtual StatusCode varianceMET(xAOD::MissingETContainer *metCont, float avgmu, const std::string &jetTermName, const std::string &softTermName, const std::string &totalMETName)=0