1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: FillerPFTaus.h,v 1.7 2011/04/29 14:18:23 mhchan Exp $
|
3 |
//
|
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 |
#include "MitAna/DataTree/interface/PFTauFwd.h"
|
15 |
#include "DataFormats/Common/interface/RefToPtr.h"
|
16 |
#include "MitProd/TreeFiller/interface/AssociationMaps.h"
|
17 |
#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 |
void BookDataBlock(TreeWriter &tws);
|
28 |
void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
|
29 |
|
30 |
private:
|
31 |
//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 |
bool hpsActive_; //=true if HPS discriminants are filled
|
34 |
std::string edmName_; //edm name of jets collection
|
35 |
std::string mitName_; //mit name of jets collection
|
36 |
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 |
std::string discriminationByDecayModeFindingName_; // HPS discriminant
|
42 |
std::string discriminationByVLooseIsolationName_; // HPS discriminant
|
43 |
std::string discriminationByLooseIsolationName_; // HPS discriminant
|
44 |
std::string discriminationByMediumIsolationName_; // HPS discriminant
|
45 |
std::string discriminationByTightIsolationName_; // HPS discriminant
|
46 |
std::string trackMapName_; //name of imported TrackMap
|
47 |
std::string jetMapName_; //name of imported PFJetMap
|
48 |
std::string pfCandMapName_; //name of imported PFCandidateMap
|
49 |
const mithep::TrackMap *trackMap_; //map wrt Tracks
|
50 |
const mithep::PFJetMap *jetMap_; //map wrt pfjets
|
51 |
const mithep::PFCandidateMap *pfCandMap_; //map wrt pf candidates
|
52 |
mithep::PFTauArr *taus_; //array of taus
|
53 |
|
54 |
template <typename C>
|
55 |
edm::Ptr<typename C::value_type> refToPtrHack(edm::Ref<C, typename C::value_type, edm::refhelper::FindUsingAdvance<C, typename C::value_type> > const& ref) {
|
56 |
typedef typename C::value_type T;
|
57 |
return edm::Ptr<T>(ref.id(), ref.get(), ref.key());
|
58 |
}
|
59 |
|
60 |
};
|
61 |
}
|
62 |
#endif
|