ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerPFTaus.h
Revision: 1.9
Committed: Wed Sep 14 15:26:53 2011 UTC (13 years, 7 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_024b
Changes since 1.8: +2 -1 lines
Log Message:
add configurable missing reference bypass for tau embedding samples

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.9 // $Id: FillerPFTaus.h,v 1.8 2011/05/15 14:12:42 bendavid Exp $
3 bendavid 1.1 //
4     // FillerPFTaus
5     //
6     // Implementation of a filler to fill EDM pf taus into our mithep::PFTau data structure.
7     //
8     // Authors: C.Loizides, J.Bendavid
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPROD_TREEFILLER_FILLERPFTAUS_H
12     #define MITPROD_TREEFILLER_FILLERPFTAUS_H
13    
14 loizides 1.3 #include "MitAna/DataTree/interface/PFTauFwd.h"
15 bendavid 1.8 #include "DataFormats/Common/interface/RefToPtr.h"
16 loizides 1.3 #include "MitProd/TreeFiller/interface/AssociationMaps.h"
17 bendavid 1.1 #include "MitProd/TreeFiller/interface/BaseFiller.h"
18    
19     namespace mithep
20     {
21     class FillerPFTaus : public BaseFiller
22     {
23     public:
24     FillerPFTaus(const edm::ParameterSet &cfg, const char *name, bool active=1);
25     ~FillerPFTaus();
26    
27 bendavid 1.5 void BookDataBlock(TreeWriter &tws);
28 loizides 1.2 void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
29 bendavid 1.1
30     private:
31 bendavid 1.8 //template <typename C> edm::Ptr<typename C::value_type> refToPtrHack(edm::Ref<typename C, edm::refhelper::FindUsingAdvance<C, typename C::value_type> > const &ref) { return edm::Ptr<typename C::value_type>(ref.id(), ref.get(), ref.key()); }
32    
33 mhchan 1.6 bool hpsActive_; //=true if HPS discriminants are filled
34 loizides 1.2 std::string edmName_; //edm name of jets collection
35     std::string mitName_; //mit name of jets collection
36 mhchan 1.7 std::string discriminationByLooseElectronRejectionName_; // HPS discriminant
37     std::string discriminationByMediumElectronRejectionName_; // HPS discriminant
38     std::string discriminationByTightElectronRejectionName_; // HPS discriminant
39     std::string discriminationByLooseMuonRejectionName_; // HPS discriminant
40     std::string discriminationByTightMuonRejectionName_; // HPS discriminant
41 mhchan 1.6 std::string discriminationByDecayModeFindingName_; // HPS discriminant
42 mhchan 1.7 std::string discriminationByVLooseIsolationName_; // HPS discriminant
43 mhchan 1.6 std::string discriminationByLooseIsolationName_; // HPS discriminant
44     std::string discriminationByMediumIsolationName_; // HPS discriminant
45     std::string discriminationByTightIsolationName_; // HPS discriminant
46 loizides 1.2 std::string trackMapName_; //name of imported TrackMap
47     std::string jetMapName_; //name of imported PFJetMap
48     std::string pfCandMapName_; //name of imported PFCandidateMap
49 bendavid 1.9 bool allowMissingTrackRef_; //allow missing track reference (needed for tau embedding samples)
50 loizides 1.2 const mithep::TrackMap *trackMap_; //map wrt Tracks
51     const mithep::PFJetMap *jetMap_; //map wrt pfjets
52     const mithep::PFCandidateMap *pfCandMap_; //map wrt pf candidates
53     mithep::PFTauArr *taus_; //array of taus
54 bendavid 1.8
55     template <typename C>
56     edm::Ptr<typename C::value_type> refToPtrHack(edm::Ref<C, typename C::value_type, edm::refhelper::FindUsingAdvance<C, typename C::value_type> > const& ref) {
57     typedef typename C::value_type T;
58     return edm::Ptr<T>(ref.id(), ref.get(), ref.key());
59     }
60 mhchan 1.6
61 bendavid 1.1 };
62     }
63     #endif