1 |
bendavid |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
mhchan |
1.13 |
// $Id: FillerPFTaus.h,v 1.12 2012/03/11 23:11:55 pharris 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 |
bendavid |
1.11 |
const mithep::Track *getMitTrack(mitedm::TrackPtr ptr, bool allowmissing) const;
|
34 |
|
|
|
35 |
|
|
|
36 |
mhchan |
1.6 |
bool hpsActive_; //=true if HPS discriminants are filled
|
37 |
loizides |
1.2 |
std::string edmName_; //edm name of jets collection
|
38 |
|
|
std::string mitName_; //mit name of jets collection
|
39 |
mhchan |
1.7 |
std::string discriminationByLooseElectronRejectionName_; // HPS discriminant
|
40 |
|
|
std::string discriminationByMediumElectronRejectionName_; // HPS discriminant
|
41 |
|
|
std::string discriminationByTightElectronRejectionName_; // HPS discriminant
|
42 |
mhchan |
1.13 |
std::string discriminationByMVAElectronRejectionName_; // HPS discriminant
|
43 |
mhchan |
1.7 |
std::string discriminationByLooseMuonRejectionName_; // HPS discriminant
|
44 |
|
|
std::string discriminationByTightMuonRejectionName_; // HPS discriminant
|
45 |
mhchan |
1.6 |
std::string discriminationByDecayModeFindingName_; // HPS discriminant
|
46 |
mhchan |
1.7 |
std::string discriminationByVLooseIsolationName_; // HPS discriminant
|
47 |
mhchan |
1.6 |
std::string discriminationByLooseIsolationName_; // HPS discriminant
|
48 |
|
|
std::string discriminationByMediumIsolationName_; // HPS discriminant
|
49 |
|
|
std::string discriminationByTightIsolationName_; // HPS discriminant
|
50 |
mhchan |
1.10 |
std::string discriminationByVLooseCombinedIsolationDBSumPtCorrName_; // HPS discriminant
|
51 |
|
|
std::string discriminationByLooseCombinedIsolationDBSumPtCorrName_; // HPS discriminant
|
52 |
|
|
std::string discriminationByMediumCombinedIsolationDBSumPtCorrName_; // HPS discriminant
|
53 |
|
|
std::string discriminationByTightCombinedIsolationDBSumPtCorrName_; // HPS discriminant
|
54 |
mhchan |
1.13 |
std::string discriminationByRawCombinedIsolationDBSumPtCorrName_; // HPS discriminant
|
55 |
bendavid |
1.11 |
std::vector<std::string> trackMapNames_; //name of imported TrackMap
|
56 |
loizides |
1.2 |
std::string jetMapName_; //name of imported PFJetMap
|
57 |
|
|
std::string pfCandMapName_; //name of imported PFCandidateMap
|
58 |
pharris |
1.12 |
std::string tauMapName_; //name of exported PFTau Map
|
59 |
bendavid |
1.9 |
bool allowMissingTrackRef_; //allow missing track reference (needed for tau embedding samples)
|
60 |
bendavid |
1.11 |
std::vector<const mithep::TrackMap*> trackMaps_; //map wrt Tracks
|
61 |
loizides |
1.2 |
const mithep::PFJetMap *jetMap_; //map wrt pfjets
|
62 |
|
|
const mithep::PFCandidateMap *pfCandMap_; //map wrt pf candidates
|
63 |
pharris |
1.12 |
mithep::PFTauMap *tauMap_; //exported PFTau map
|
64 |
loizides |
1.2 |
mithep::PFTauArr *taus_; //array of taus
|
65 |
bendavid |
1.8 |
|
66 |
|
|
template <typename C>
|
67 |
|
|
edm::Ptr<typename C::value_type> refToPtrHack(edm::Ref<C, typename C::value_type, edm::refhelper::FindUsingAdvance<C, typename C::value_type> > const& ref) {
|
68 |
|
|
typedef typename C::value_type T;
|
69 |
|
|
return edm::Ptr<T>(ref.id(), ref.get(), ref.key());
|
70 |
|
|
}
|
71 |
mhchan |
1.6 |
|
72 |
bendavid |
1.1 |
};
|
73 |
|
|
}
|
74 |
|
|
#endif
|