CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Attributes
RecoTauPlotDiscriminator Class Reference
Inheritance diagram for RecoTauPlotDiscriminator:
edm::EDAnalyzer

Public Member Functions

void analyze (const edm::Event &evt, const edm::EventSetup &es)
 
 RecoTauPlotDiscriminator (const edm::ParameterSet &pset)
 
virtual ~RecoTauPlotDiscriminator ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Types

typedef std::map< std::string,
HistoMap
DiscMap
 
typedef std::map< std::string,
TH1 * > 
HistoMap
 
typedef std::vector
< edm::InputTag
VInputTag
 

Private Attributes

VInputTag discs_
 
DiscMap histos_
 
edm::InputTag src_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 29 of file RecoTauPlotDiscriminator.cc.

Member Typedef Documentation

typedef std::map<std::string, HistoMap> RecoTauPlotDiscriminator::DiscMap
private

Definition at line 37 of file RecoTauPlotDiscriminator.cc.

typedef std::map<std::string, TH1*> RecoTauPlotDiscriminator::HistoMap
private

Definition at line 36 of file RecoTauPlotDiscriminator.cc.

typedef std::vector<edm::InputTag> RecoTauPlotDiscriminator::VInputTag
private

Definition at line 38 of file RecoTauPlotDiscriminator.cc.

Constructor & Destructor Documentation

RecoTauPlotDiscriminator::RecoTauPlotDiscriminator ( const edm::ParameterSet pset)

Definition at line 43 of file RecoTauPlotDiscriminator.cc.

References discs_, edm::ParameterSet::getParameter(), histos_, edm::InputTag::label(), max(), min, ExpressReco_HICollisions_FallBack::nbins, and GlobalPosition_Frontier_DevDB_cff::tag.

44  :src_(pset.getParameter<edm::InputTag>("src")) {
45  uint32_t nbins = pset.getParameter<uint32_t>("nbins");
46  double min = pset.getParameter<double>("min");
47  double max = pset.getParameter<double>("max");
49  // Get the discriminators
50  discs_ = pset.getParameter<std::vector<edm::InputTag> >("discriminators");
51 
52  BOOST_FOREACH(const edm::InputTag &tag, discs_) {
53  HistoMap discMap;
54  discMap["plain"] =
55  fs->make<TH1F>(tag.label().c_str(), tag.label().c_str(),
56  nbins, min, max);
57 
58  // Make correlation plots
59  std::string vs_pt_name = tag.label()+"_pt";
60  discMap["vs_pt"] =
61  fs->make<TH2F>(vs_pt_name.c_str(), vs_pt_name.c_str(),
62  nbins, min, max, 100, 0, 100);
63 
64  std::string vs_eta_name = tag.label()+"_eta";
65  discMap["vs_eta"] =
66  fs->make<TH2F>(vs_eta_name.c_str(), vs_eta_name.c_str(),
67  nbins, min, max, 100, -2.5, 2.5);
68 
69  std::string vs_dm_name = tag.label()+"_dm";
70  discMap["vs_dm"] =
71  fs->make<TH2F>(vs_dm_name.c_str(), vs_dm_name.c_str(),
72  nbins, min, max, 15, -0.5, 14.5);
73  histos_[tag.label()] = discMap;
74  }
75 }
T getParameter(std::string const &) const
#define min(a, b)
Definition: mlp_lapack.h:161
const T & max(const T &a, const T &b)
std::map< std::string, TH1 * > HistoMap
std::string const & label() const
Definition: InputTag.h:25
virtual RecoTauPlotDiscriminator::~RecoTauPlotDiscriminator ( )
inlinevirtual

Definition at line 32 of file RecoTauPlotDiscriminator.cc.

32 {}

Member Function Documentation

void RecoTauPlotDiscriminator::analyze ( const edm::Event evt,
const edm::EventSetup es 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 78 of file RecoTauPlotDiscriminator.cc.

References discs_, edm::Event::getByLabel(), histos_, collect_tpl::input, edm::InputTag::label(), query::result, src_, GlobalPosition_Frontier_DevDB_cff::tag, and metsig::tau.

79  {
80  // Get the input collection to clean
82  evt.getByLabel(src_, input);
83 
84  // Cast the input candidates to Refs to real taus
85  reco::PFTauRefVector inputRefs =
86  reco::tau::castView<reco::PFTauRefVector>(input);
87 
88  // Plot the discriminator output for each of our taus
89  BOOST_FOREACH(const reco::PFTauRef& tau, inputRefs) {
90  // Plot each discriminator
91  BOOST_FOREACH(const edm::InputTag &tag, discs_) {
93  evt.getByLabel(tag, discHandle);
94  //const HistoMap &discHistos = disc.second;
95  double result = (*discHandle)[tau];
96  HistoMap& mymap = histos_[tag.label()];
97  mymap["plain"]->Fill(result);
98  mymap["vs_pt"]->Fill(result, tau->pt());
99  mymap["vs_eta"]->Fill(result, tau->eta());
100  mymap["vs_dm"]->Fill(result, tau->decayMode());
101  }
102  }
103 }
tuple result
Definition: query.py:137
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
std::map< std::string, TH1 * > HistoMap
tuple input
Definition: collect_tpl.py:10
std::string const & label() const
Definition: InputTag.h:25

Member Data Documentation

VInputTag RecoTauPlotDiscriminator::discs_
private

Definition at line 39 of file RecoTauPlotDiscriminator.cc.

Referenced by analyze(), and RecoTauPlotDiscriminator().

DiscMap RecoTauPlotDiscriminator::histos_
private

Definition at line 40 of file RecoTauPlotDiscriminator.cc.

Referenced by analyze(), and RecoTauPlotDiscriminator().

edm::InputTag RecoTauPlotDiscriminator::src_
private

Definition at line 35 of file RecoTauPlotDiscriminator.cc.

Referenced by analyze().