5 #include <boost/foreach.hpp>
88 tree->Branch(
"NohBJetL2", &
NohBJetL2,
"NohBJetL2/I");
89 tree->Branch(
"ohBJetL2Energy",
ohBJetL2Energy,
"ohBJetL2Energy[NohBJetL2]/F");
90 tree->Branch(
"ohBJetL2Et",
ohBJetL2Et,
"ohBJetL2Et[NohBJetL2]/F");
91 tree->Branch(
"ohBJetL2Pt",
ohBJetL2Pt,
"ohBJetL2Pt[NohBJetL2]/F");
92 tree->Branch(
"ohBJetL2Eta",
ohBJetL2Eta,
"ohBJetL2Eta[NohBJetL2]/F");
93 tree->Branch(
"ohBJetL2Phi",
ohBJetL2Phi,
"ohBJetL2Phi[NohBJetL2]/F");
96 tree->Branch(
"ohBJetL2CorrectedEnergy",
ohBJetL2CorrectedEnergy,
"ohBJetL2CorrectedEnergy[NohBJetL2Corrected]/F");
97 tree->Branch(
"ohBJetL2CorrectedEt",
ohBJetL2CorrectedEt,
"ohBJetL2CorrectedEt[NohBJetL2Corrected]/F");
98 tree->Branch(
"ohBJetL2CorrectedPt",
ohBJetL2CorrectedPt,
"ohBJetL2CorrectedPt[NohBJetL2Corrected]/F");
99 tree->Branch(
"ohBJetL2CorrectedEta",
ohBJetL2CorrectedEta,
"ohBJetL2CorrectedEta[NohBJetL2Corrected]/F");
100 tree->Branch(
"ohBJetL2CorrectedPhi",
ohBJetL2CorrectedPhi,
"ohBJetL2CorrectedPhi[NohBJetL2Corrected]/F");
102 tree->Branch(
"ohBJetIPL25Tag",
ohBJetIPL25Tag,
"ohBJetIPL25Tag[NohBJetL2]/F");
103 tree->Branch(
"ohBJetIPL3Tag",
ohBJetIPL3Tag,
"ohBJetIPL3Tag[NohBJetL2]/F");
105 tree->Branch(
"ohBJetMuL25Tag",
ohBJetMuL25Tag,
"ohBJetMuL25Tag[NohBJetL2]/I");
106 tree->Branch(
"ohBJetMuL3Tag",
ohBJetMuL3Tag,
"ohBJetMuL3Tag[NohBJetL2]/F");
107 tree->Branch(
"ohBJetPerfL25Tag",
ohBJetPerfL25Tag,
"ohBJetPerfL25Tag[NohBJetL2]/I");
108 tree->Branch(
"ohBJetPerfL3Tag",
ohBJetPerfL3Tag,
"ohBJetPerfL3Tag[NohBJetL2]/I");
127 if (rawBJets.isValid())
130 if (correctedBJets.isValid())
133 if (correctedBJets.isValid() and lifetimeBJetsL25.
isValid() and lifetimeBJetsL3.
isValid())
134 analyseLifetime(* correctedBJets, * lifetimeBJetsL25, * lifetimeBJetsL3);
136 if (correctedBJets.isValid() and softmuonBJetsL25.
isValid() and softmuonBJetsL3.
isValid())
137 analyseSoftmuon(* correctedBJets, * softmuonBJetsL25, * softmuonBJetsL3);
139 if (correctedBJets.isValid() and performanceBJetsL25.
isValid() and performanceBJetsL3.
isValid())
150 for (
size_t i = 0;
i <
size; ++
i) {
165 for (
size_t i = 0;
i <
size; ++
i) {
179 if (tagsL25.
size() != jets.
size()) {
190 for (
size_t i = 0;
i <
size;
i++) {
201 if (tagsL25.
size() != jets.
size()) {
212 for (
size_t i = 0;
i <
size;
i++) {
223 if (tagsL25.
size() != jets.
size()) {
234 for (
size_t i = 0;
i <
size;
i++) {
const char * kBTagSoftmuonBJetsL3
void analysePerformance(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
void analyseSoftmuon(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
void analyseJets(const edm::View< reco::Jet > &jets)
const char * kBTagPerformanceBJetsL25
const char * kBTagSoftmuonBJetsL25
void analyseCorrectedJets(const edm::View< reco::Jet > &jets)
float * ohBJetL2CorrectedEt
const char * kBTagLifetimeBJetsL25
static const size_t kMaxBJets
float * ohBJetL2CorrectedEta
void analyze(const edm::Handle< edm::View< reco::Jet > > &rawBJets, const edm::Handle< edm::View< reco::Jet > > &correctedBJets, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL25, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL3, const edm::Handle< reco::JetTagCollection > &softmuonBJetsL25, const edm::Handle< reco::JetTagCollection > &softmuonBJetsL3, const edm::Handle< reco::JetTagCollection > &performanceBJetsL25, const edm::Handle< reco::JetTagCollection > &performanceBJetsL3, TTree *tree)
const char * kBTagLifetimeBJetsL3
const char * kBTagPerformanceBJetsL3
float * ohBJetL2CorrectedEnergy
float * ohBJetL2CorrectedPt
float * ohBJetL2CorrectedPhi
void setup(const edm::ParameterSet &config, TTree *tree)
void analyseLifetime(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
tuple size
Write out results.