5 #include <boost/foreach.hpp>
170 tree->Branch(
"NohBJetL2", &
NohBJetL2,
"NohBJetL2/I");
171 tree->Branch(
"ohBJetL2Energy",
ohBJetL2Energy,
"ohBJetL2Energy[NohBJetL2]/F");
172 tree->Branch(
"ohBJetL2Et",
ohBJetL2Et,
"ohBJetL2Et[NohBJetL2]/F");
173 tree->Branch(
"ohBJetL2Pt",
ohBJetL2Pt,
"ohBJetL2Pt[NohBJetL2]/F");
174 tree->Branch(
"ohBJetL2Eta",
ohBJetL2Eta,
"ohBJetL2Eta[NohBJetL2]/F");
175 tree->Branch(
"ohBJetL2Phi",
ohBJetL2Phi,
"ohBJetL2Phi[NohBJetL2]/F");
178 tree->Branch(
"ohBJetL2CorrectedEnergy",
ohBJetL2CorrectedEnergy,
"ohBJetL2CorrectedEnergy[NohBJetL2Corrected]/F");
179 tree->Branch(
"ohBJetL2CorrectedEt",
ohBJetL2CorrectedEt,
"ohBJetL2CorrectedEt[NohBJetL2Corrected]/F");
180 tree->Branch(
"ohBJetL2CorrectedPt",
ohBJetL2CorrectedPt,
"ohBJetL2CorrectedPt[NohBJetL2Corrected]/F");
181 tree->Branch(
"ohBJetL2CorrectedEta",
ohBJetL2CorrectedEta,
"ohBJetL2CorrectedEta[NohBJetL2Corrected]/F");
182 tree->Branch(
"ohBJetL2CorrectedPhi",
ohBJetL2CorrectedPhi,
"ohBJetL2CorrectedPhi[NohBJetL2Corrected]/F");
186 tree->Branch(
"ohBJetL2CorrectedEtL1FastJet",
ohBJetL2CorrectedEtL1FastJet,
"ohBJetL2CorrectedEtL1FastJet[NohBJetL2CorrectedL1FastJet]/F");
187 tree->Branch(
"ohBJetL2CorrectedPtL1FastJet",
ohBJetL2CorrectedPtL1FastJet,
"ohBJetL2CorrectedPtL1FastJet[NohBJetL2CorrectedL1FastJet]/F");
188 tree->Branch(
"ohBJetL2CorrectedEtaL1FastJet",
ohBJetL2CorrectedEtaL1FastJet,
"ohBJetL2CorrectedEtaL1FastJet[NohBJetL2CorrectedL1FastJet]/F");
189 tree->Branch(
"ohBJetL2CorrectedPhiL1FastJet",
ohBJetL2CorrectedPhiL1FastJet,
"ohBJetL2CorrectedPhiL1FastJet[NohBJetL2CorrectedL1FastJet]/F");
191 tree->Branch(
"NohpfBJetL2", &
NohpfBJetL2,
"NohpfBJetL2/I");
192 tree->Branch(
"ohpfBJetL2Energy",
ohpfBJetL2Energy,
"ohpfBJetL2Energy[NohpfBJetL2]/F");
193 tree->Branch(
"ohpfBJetL2Et",
ohpfBJetL2Et,
"ohpfBJetL2Et[NohpfBJetL2]/F");
194 tree->Branch(
"ohpfBJetL2Pt",
ohpfBJetL2Pt,
"ohpfBJetL2Pt[NohpfBJetL2]/F");
195 tree->Branch(
"ohpfBJetL2Eta",
ohpfBJetL2Eta,
"ohpfBJetL2Eta[NohpfBJetL2]/F");
196 tree->Branch(
"ohpfBJetL2Phi",
ohpfBJetL2Phi,
"ohpfBJetL2Phi[NohpfBJetL2]/F");
198 tree->Branch(
"ohBJetIPL25Tag",
ohBJetIPL25Tag,
"ohBJetIPL25Tag[NohBJetL2Corrected]/F");
199 tree->Branch(
"ohBJetIPL3Tag",
ohBJetIPL3Tag,
"ohBJetIPL3Tag[NohBJetL2Corrected]/F");
200 tree->Branch(
"ohBJetIPL25TagL1FastJet",
ohBJetIPL25TagL1FastJet,
"ohBJetIPL25TagL1FastJet[NohBJetL2CorrectedL1FastJet]/F");
201 tree->Branch(
"ohBJetIPL3TagL1FastJet",
ohBJetIPL3TagL1FastJet,
"ohBJetIPL3TagL1FastJet[NohBJetL2CorrectedL1FastJet]/F");
202 tree->Branch(
"ohpfBJetIPL3Tag",
ohpfBJetIPL3Tag,
"ohpfBJetIPL3Tag[NohpfBJetL2]/F");
205 tree->Branch(
"ohBJetIPL3TagSingleTrack",
ohBJetIPL3TagSingleTrack,
"ohBJetIPL3TagSingleTrack[NohBJetL2Corrected]/F");
209 tree->Branch(
"ohBJetPerfL25Tag",
ohBJetPerfL25Tag,
"ohBJetPerfL25Tag[NohBJetL2Corrected]/I");
210 tree->Branch(
"ohBJetPerfL3Tag",
ohBJetPerfL3Tag,
"ohBJetPerfL3Tag[NohBJetL2Corrected]/I");
211 tree->Branch(
"ohBJetPerfL25TagL1FastJet",
ohBJetPerfL25TagL1FastJet,
"ohBJetPerfL25TagL1FastJet[NohBJetL2CorrectedL1FastJet]/I");
212 tree->Branch(
"ohBJetPerfL3TagL1FastJet",
ohBJetPerfL3TagL1FastJet,
"ohBJetPerfL3TagL1FastJet[NohBJetL2CorrectedL1FastJet]/I");
240 if (rawBJets.isValid())
243 if (correctedBJets.isValid())
246 if (correctedBJetsL1FastJet.isValid())
249 if (pfBJets.isValid())
252 if (correctedBJets.isValid() and lifetimeBJetsL25.
isValid() and lifetimeBJetsL3.
isValid())
253 analyseLifetime(* correctedBJets, * lifetimeBJetsL25, * lifetimeBJetsL3);
255 if (correctedBJetsL1FastJet.isValid() and lifetimeBJetsL25L1FastJet.
isValid() and lifetimeBJetsL3L1FastJet.
isValid())
258 if (pfBJets.isValid() and lifetimePFBJetsL3.
isValid())
261 if (correctedBJets.isValid() and lifetimeBJetsL25SingleTrack.
isValid() and lifetimeBJetsL3SingleTrack.
isValid())
264 if (correctedBJetsL1FastJet.isValid() and lifetimeBJetsL25SingleTrackL1FastJet.
isValid() and lifetimeBJetsL3SingleTrackL1FastJet.
isValid())
267 if (correctedBJets.isValid() and performanceBJetsL25.
isValid() and performanceBJetsL3.
isValid())
270 if (correctedBJetsL1FastJet.isValid() and performanceBJetsL25L1FastJet.
isValid() and performanceBJetsL3L1FastJet.
isValid())
281 for (
size_t i = 0;
i <
size; ++
i) {
296 for (
size_t i = 0;
i <
size; ++
i) {
311 for (
size_t i = 0;
i <
size; ++
i) {
326 for (
size_t i = 0;
i <
size; ++
i) {
340 if (tagsL25.
size() != jets.
size()) {
351 for (
size_t i = 0;
i <
size;
i++) {
362 if (tagsL25.
size() != jets.
size()) {
373 for (
size_t i = 0;
i <
size;
i++) {
390 for (
size_t i = 0;
i <
size;
i++) {
400 if (tagsL25.
size() != jets.
size()) {
411 for (
size_t i = 0;
i <
size;
i++) {
422 if (tagsL25.
size() != jets.
size()) {
433 for (
size_t i = 0;
i <
size;
i++) {
444 if (tagsL25.
size() != jets.
size()) {
455 for (
size_t i = 0;
i <
size;
i++) {
466 if (tagsL25.
size() != jets.
size()) {
477 for (
size_t i = 0;
i <
size;
i++) {
const char * kBTagLifetimeBJetsL25SingleTrack
void analysePerformance(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
int * ohBJetPerfL3TagL1FastJet
float * ohBJetIPL3TagSingleTrackL1FastJet
float * ohBJetL2CorrectedEtaL1FastJet
float * ohBJetIPL3TagL1FastJet
void analyseJets(const edm::View< reco::Jet > &jets)
const char * kBTagLifetimeBJetsL3SingleTrackL1FastJet
const char * kBTagLifetimeBJetsL25SingleTrackL1FastJet
void analysePerformanceL1FastJet(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
const char * kBTagLifetimeBJetsL3SingleTrack
float * ohBJetL2CorrectedPhiL1FastJet
const char * kBTagPerformanceBJetsL25
void analyseCorrectedJets(const edm::View< reco::Jet > &jets)
float * ohBJetIPL25TagSingleTrackL1FastJet
void analyseLifetimeL1FastJet(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
float * ohBJetL2CorrectedEt
const char * kBTagLifetimeBJetsL25
static const size_t kMaxBJets
void analyseLifetimeSingleTrackL1FastJet(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
float * ohBJetL2CorrectedEta
const char * kBTagLifetimeBJetsL25L1FastJet
float * ohBJetL2CorrectedEnergyL1FastJet
float * ohBJetL2CorrectedPtL1FastJet
const char * kBTagLifetimeBJetsL3
const char * kBTagPerformanceBJetsL3
const char * kBTagPerformanceBJetsL25L1FastJet
const char * kBTagPerformanceBJetsL3L1FastJet
void analyseLifetimePF(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL3)
const char * kBTagLifetimeBJetsL3L1FastJet
const char * kBTagLifetimePFBJetsL3
void analyseLifetimeSingleTrack(const edm::View< reco::Jet > &jets, const reco::JetTagCollection &tagsL25, const reco::JetTagCollection &tagsL3)
void analysePFJets(const edm::View< reco::Jet > &jets)
float * ohBJetL2CorrectedEnergy
void analyze(const edm::Handle< edm::View< reco::Jet > > &rawBJets, const edm::Handle< edm::View< reco::Jet > > &correctedBJets, const edm::Handle< edm::View< reco::Jet > > &correctedBJetsL1FastJet, const edm::Handle< edm::View< reco::Jet > > &pfBJets, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL25, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL3, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL25L1FastJet, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL3L1FastJet, const edm::Handle< reco::JetTagCollection > &lifetimePFBJetsL3, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL25SingleTrack, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL3SingleTrack, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL25SingleTrackL1FastJet, const edm::Handle< reco::JetTagCollection > &lifetimeBJetsL3SingleTrackL1FastJet, const edm::Handle< reco::JetTagCollection > &performanceBJetsL25, const edm::Handle< reco::JetTagCollection > &performanceBJetsL3, const edm::Handle< reco::JetTagCollection > &performanceBJetsL25L1FastJet, const edm::Handle< reco::JetTagCollection > &performanceBJetsL3L1FastJet, TTree *tree)
float * ohBJetIPL3TagSingleTrack
float * ohBJetL2CorrectedPt
int NohBJetL2CorrectedL1FastJet
int * ohBJetPerfL25TagL1FastJet
float * ohBJetIPL25TagSingleTrack
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)
float * ohBJetIPL25TagL1FastJet
tuple size
Write out results.
void analyseCorrectedJetsL1FastJet(const edm::View< reco::Jet > &jets)
float * ohBJetL2CorrectedEtL1FastJet