Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h>
00011
00012
00013
00014 #include <DataFormats/Common/interface/Handle.h>
00015 #include <FWCore/Framework/interface/ESHandle.h>
00016 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00017 #include <FWCore/MessageLogger/interface/MessageLogger.h>
00018 #include <DataFormats/JetReco/interface/CaloJet.h>
00019 #include <FWCore/Utilities/interface/InputTag.h>
00020
00021
00022 #include "FWCore/Framework/interface/Frameworkfwd.h"
00023 #include "FWCore/Framework/interface/Event.h"
00024 #include "DataFormats/JetReco/interface/GenJet.h"
00025
00026
00027
00028
00029
00030
00031
00032 #include <algorithm>
00033 #include <iostream>
00034 #include <vector>
00035 #include <math.h>
00036
00037 using namespace std;
00038 using namespace edm;
00039
00040
00041
00042 QCDSingleJetFilter::~QCDSingleJetFilter(){
00043
00044 }
00045
00046
00047
00048 QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset):theTriggerJetCollectionA(pset.getParameter<edm::InputTag>("TriggerJetCollectionA")),theTrigCollB(pset.getParameter<edm::InputTag>("TriggerJetCollectionB")){
00049
00050
00051
00052
00053
00054 theMinPt = pset.getParameter<double>("MinPt");
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 }
00071
00072
00073
00074
00075
00076 bool QCDSingleJetFilter::filter(edm::Event& event, const edm::EventSetup& setup) {
00077 bool keepEvent = false;
00078 using namespace edm;
00079 using namespace std;
00080
00081
00082 edm::Handle<reco::CaloJetCollection> theTriggerCollectionJetsA;
00083 edm::Handle<reco::CaloJetCollection> theTrigCollJetsB;
00084
00085 event.getByLabel(theTriggerJetCollectionA,theTriggerCollectionJetsA);
00086 event.getByLabel(theTrigCollB,theTrigCollJetsB);
00087
00088 for (reco::CaloJetCollection::const_iterator iter=theTriggerCollectionJetsA->begin();iter!=theTriggerCollectionJetsA->end();++iter){
00089 if ((*iter).pt()>=theMinPt) {
00090 keepEvent=true;
00091 break;
00092 }
00093 }
00094
00095 for (reco::CaloJetCollection::const_iterator iter=theTrigCollJetsB->begin();iter!=theTrigCollJetsB->end();++iter){
00096 if ((*iter).pt()>=theMinPt) {
00097 keepEvent=true;
00098 break;
00099 }
00100 }
00101
00102
00103
00104
00105
00106
00107
00108 return keepEvent;
00109
00110 }
00111