Skip to content

Commit

Permalink
3/4 lep
Browse files Browse the repository at this point in the history
  • Loading branch information
amassiro committed Nov 26, 2012
1 parent 5c57ea8 commit 2656222
Show file tree
Hide file tree
Showing 5 changed files with 1,153 additions and 73 deletions.
126 changes: 126 additions & 0 deletions AnalysisStep/interface/SkimEventProducer2L2N.h
@@ -0,0 +1,126 @@
#ifndef MYPRODUCERS_SkimEventProducer2L2N_SkimEventProducer2L2N_H
#define MYPRODUCERS_SkimEventProducer2L2N_SkimEventProducer2L2N_H

#include <memory>

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDProducer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"

#include "WWAnalysis/DataFormats/interface/SkimEvent.h"

#include "WWAnalysis/AnalysisStep/interface/TriggerBitChecker.h"

#include "CommonTools/Utils/interface/StringCutObjectSelector.h"

// BDT ElectronID
#include "HiggsAnalysis/HiggsToWW2Leptons/interface/ElectronIDMVA.h"

// DYMVA
#include "DataFormats/Math/interface/deltaR.h"
#include "DYMvaInCMSSW/GetDYMVA/interface/GetDYMVA.h"

// MVAMet
#include <TLorentzVector.h>
#include "DataFormats/Math/interface/LorentzVector.h"
#include "DataFormats/Math/interface/Vector.h"
#include "pharris/MVAMet/interface/MetUtilities.h"
#include "pharris/MVAMet/interface/MVAMet.h"

// MC information Gen level
#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"

class SkimEventProducer2L2N : public edm::EDProducer {
public:
explicit SkimEventProducer2L2N(const edm::ParameterSet&);
~SkimEventProducer2L2N();


// MVAMet
typedef math::XYZTLorentzVector LorentzVector;
typedef math::XYZVector Vector;

struct JetInfo {
LorentzVector p4;
double mva;
double neutFrac;
};


private:
virtual void beginJob() ;
virtual void produce(edm::Event&, const edm::EventSetup&);
virtual void endJob() ;
reco::MET doChMET(edm::Handle<reco::CandidateView> candsH,
const reco::Candidate* cand1,const reco::Candidate* cand2);

std::string branchAlias_;
reco::SkimEvent::hypoType hypoType_;

edm::InputTag triggerTag_;
TriggerBitChecker singleMuData_;
TriggerBitChecker singleElData_;
TriggerBitChecker doubleMuData_;
TriggerBitChecker doubleElData_;
TriggerBitChecker muEGData_;
TriggerBitChecker singleMuMC_;
TriggerBitChecker singleElMC_;
TriggerBitChecker doubleMuMC_;
TriggerBitChecker doubleElMC_;
TriggerBitChecker muEGMC_;
TriggerBitChecker AllEmbed_;

edm::InputTag mcGenEventInfoTag_;
edm::InputTag mcGenWeightTag_;
edm::InputTag genParticlesTag_;
edm::InputTag muTag_;
edm::InputTag elTag_;
edm::InputTag softMuTag_;
edm::InputTag jetTag_;
edm::InputTag tagJetTag_;
edm::InputTag pfMetTag_;
edm::InputTag tcMetTag_;
edm::InputTag chargedMetTag_;
edm::InputTag vtxTag_;
// edm::InputTag allCandsTag_; // Needed for MVAMet
edm::InputTag chCandsTag_;
edm::InputTag sptTag_;
edm::InputTag spt2Tag_;
// std::string l2File_;
// std::string l3File_;
// std::string resFile_;

GetDYMVA *getDYMVA_v0;
GetDYMVA *getDYMVA_v1;

void addDYMVA(reco::SkimEvent* event);

MVAMet *fMVAMet;

std::vector<std::pair<LorentzVector,double> > lPFInfo;
std::vector<MetUtilities::JetInfo> lJetInfo;
std::vector<Vector> lVtxInfo;

void makeJets (std::vector<MetUtilities::JetInfo> &iJetInfo,
const edm::Handle<pat::JetCollection> &jH,
reco::VertexCollection &iVertices);

void makeCandidates (std::vector<std::pair<LorentzVector,double> > &iPFInfo,
edm::Handle<reco::CandidateView> cH,
reco::Vertex *iPV);

void makeVertices (std::vector<Vector> &iPVInfo,
reco::VertexCollection &iVertices);

reco::PFMET getMvaMet(const reco::Candidate *cand1,
const reco::Candidate *cand2,
reco::Vertex *iPV,
reco::PFMETCollection thePfMet);
};


#endif

0 comments on commit 2656222

Please sign in to comment.