ATLAS Offline Software
TagNtupleDumper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BTAGTOOLS_TAGNTUPLEDUMPER_C
6 #define BTAGTOOLS_TAGNTUPLEDUMPER_C
7 
8 /******************************************************
9  @class TagNtupleDumper
10  Package : JetTagTools
11  Created : March 2016
12  DESCRIPTION:
13  Package to dump ntuples containing the information used in the
14  ML taggers
15  @authors Dan Guest, Luke de Oliveira, Marie Lanfermann
16 ********************************************************/
18 #include "GaudiKernel/ToolHandle.h"
19 
21 
22 #include <vector>
23 #include <istream>
24 #include <map>
25 #include <utility>
26 #include <mutex>
27 
28 class TTree;
29 // class TFile;
30 
31 #include "GaudiKernel/ServiceHandle.h"
32 #include "GaudiKernel/ITHistSvc.h"
34 
35 namespace Analysis {
36 
37  class TagNtupleDumper : public extends<AthAlgTool, IMultivariateJetTagger>
38  {
39  public:
40  TagNtupleDumper(const std::string& name,
41  const std::string& n,
42  const IInterface*);
43 
44  virtual ~TagNtupleDumper();
45  virtual StatusCode initialize() override;
46  virtual StatusCode finalize() override;
47 
48  virtual
50  const std::map<std::string,double>& inputs,
51  const std::string& jetauthor) const override;
52 
53  private:
55  std::string m_stream;
56 
57  mutable std::map< std::pair<std::string, std::string>, float* > m_features ATLAS_THREAD_SAFE;
58  mutable std::map<std::string, TTree*> m_trees ATLAS_THREAD_SAFE;
59  // Serialize access.
60  mutable std::mutex m_mutex ATLAS_THREAD_SAFE;
61 
62  }; // end class
63 
64 }// end Analysis namespace
65 
66 #endif
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
Analysis::TagNtupleDumper::m_hist_svc
ServiceHandle< ITHistSvc > m_hist_svc
Definition: TagNtupleDumper.h:54
postInclude.inputs
inputs
Definition: postInclude.SortInput.py:15
Analysis::TagNtupleDumper::finalize
virtual StatusCode finalize() override
Definition: TagNtupleDumper.cxx:52
IMultivariateJetTagger.h
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Analysis::TagNtupleDumper::~TagNtupleDumper
virtual ~TagNtupleDumper()
Definition: TagNtupleDumper.cxx:37
Analysis::TagNtupleDumper::m_stream
std::string m_stream
Definition: TagNtupleDumper.h:55
Analysis::TagNtupleDumper::assignProbability
virtual void assignProbability(xAOD::BTagging *BTag, const std::map< std::string, double > &inputs, const std::string &jetauthor) const override
Definition: TagNtupleDumper.cxx:56
Analysis::TagNtupleDumper
Definition: TagNtupleDumper.h:38
xAODType::BTag
@ BTag
The object is a b-tagging object.
Definition: ObjectType.h:60
Analysis::TagNtupleDumper::TagNtupleDumper
TagNtupleDumper(const std::string &name, const std::string &n, const IInterface *)
Definition: TagNtupleDumper.cxx:29
checker_macros.h
Define macros for attributes used to control the static checker.
Analysis::TagNtupleDumper::ATLAS_THREAD_SAFE
std::map< std::string, TTree * > m_trees ATLAS_THREAD_SAFE
Definition: TagNtupleDumper.h:58
Analysis::TagNtupleDumper::initialize
virtual StatusCode initialize() override
Definition: TagNtupleDumper.cxx:47
Analysis::TagNtupleDumper::ATLAS_THREAD_SAFE
std::map< std::pair< std::string, std::string >, float * > m_features ATLAS_THREAD_SAFE
Definition: TagNtupleDumper.h:57
ServiceHandle< ITHistSvc >
Analysis::TagNtupleDumper::ATLAS_THREAD_SAFE
std::mutex m_mutex ATLAS_THREAD_SAFE
Definition: TagNtupleDumper.h:60