Skip to content

Commit

Permalink
QCDAnalysis consumes migration.
Browse files Browse the repository at this point in the history
  • Loading branch information
Volker Adler committed Mar 19, 2014
1 parent 2b0c416 commit 5e0b761
Show file tree
Hide file tree
Showing 6 changed files with 129 additions and 125 deletions.
13 changes: 8 additions & 5 deletions QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#ifndef __QCDSingleJetFilter__H__
#define __QCDSingleJetFilter__H__

/* \class QCDSingleJetFilter for CSA07 Excercise
/* \class QCDSingleJetFilter for CSA07 Excercise
* by Andreas Oehler ([email protected])
*
Filter to select on pt of the jet with hightest Pt
can do a random prescale (requires RandomNumber Service)[deactivated]
*/

// user include files
Expand All @@ -18,14 +18,16 @@
#include <FWCore/Framework/interface/Event.h>
#include "FWCore/Utilities/interface/InputTag.h"

#include <DataFormats/JetReco/interface/CaloJet.h>


//RandomGenerator Service taken out
//namespace CLHEP {
// class RandFlat;
//}

class QCDSingleJetFilter : public edm::EDFilter {

public:
// Constructor
QCDSingleJetFilter(const edm::ParameterSet&);
Expand All @@ -36,15 +38,16 @@ class QCDSingleJetFilter : public edm::EDFilter {
/// Get event properties to send to builder to fill seed collection
virtual bool filter(edm::Event&, const edm::EventSetup&);



private:

bool debug;
//CLHEP::RandFlat *theFlatDistrib;
double theMinPt;
//,thePreScale;
edm::InputTag theTriggerJetCollectionA,theTrigCollB;
edm::EDGetTokenT<reco::CaloJetCollection> theTriggerJetCollectionAToken;
edm::EDGetTokenT<reco::CaloJetCollection> theTrigCollBToken;
};

#endif
29 changes: 15 additions & 14 deletions QCDAnalysis/Skimming/src/QCDSingleJetFilter.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* \class QCDSingleJetFilter
*
* QCDSingleJetFilter for CSA07 Excercise
* QCDSingleJetFilter for CSA07 Excercise
*
* author: Andreas Oehler ([email protected])
* see header
Expand All @@ -14,8 +14,7 @@
#include <DataFormats/Common/interface/Handle.h>
#include <FWCore/Framework/interface/ESHandle.h>
#include <FWCore/ParameterSet/interface/ParameterSet.h>
#include <FWCore/MessageLogger/interface/MessageLogger.h>
#include <DataFormats/JetReco/interface/CaloJet.h>
#include <FWCore/MessageLogger/interface/MessageLogger.h>
#include <FWCore/Utilities/interface/InputTag.h>


Expand Down Expand Up @@ -45,7 +44,9 @@ QCDSingleJetFilter::~QCDSingleJetFilter(){

// Constructor
//QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset):theFlatDistrib(0),theTriggerJetCollectionA(pset.getParameter<edm::InputTag>("TriggerJetCollectionA")),theTrigCollB(pset.getParameter<edm::InputTag>("TriggerJetCollectionB")){
QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset):theTriggerJetCollectionA(pset.getParameter<edm::InputTag>("TriggerJetCollectionA")),theTrigCollB(pset.getParameter<edm::InputTag>("TriggerJetCollectionB")){
QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset):
theTriggerJetCollectionAToken(consumes<reco::CaloJetCollection>(pset.getParameter<edm::InputTag>("TriggerJetCollectionA"))),
theTrigCollBToken(consumes<reco::CaloJetCollection>(pset.getParameter<edm::InputTag>("TriggerJetCollectionB"))){

// Local Debug flag
//debug = pset.getParameter<bool>("DebugHiggsToZZ4LeptonsSkim");
Expand All @@ -58,7 +59,7 @@ QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset):theTrigger
//if (thePreScale<1) thePreScale=0;

// Eventually, HLT objects:

//get Random-Service running:
//edm::Service<edm::RandomNumberGenerator> rng;
//if (!rng.isAvailable()) {
Expand All @@ -81,10 +82,10 @@ bool QCDSingleJetFilter::filter(edm::Event& event, const edm::EventSetup& setup)
//now get right Jet-Collection:
edm::Handle<reco::CaloJetCollection> theTriggerCollectionJetsA;
edm::Handle<reco::CaloJetCollection> theTrigCollJetsB;
event.getByLabel(theTriggerJetCollectionA,theTriggerCollectionJetsA);
event.getByLabel(theTrigCollB,theTrigCollJetsB);

event.getByToken(theTriggerJetCollectionAToken,theTriggerCollectionJetsA);
event.getByToken(theTrigCollBToken,theTrigCollJetsB);

for (reco::CaloJetCollection::const_iterator iter=theTriggerCollectionJetsA->begin();iter!=theTriggerCollectionJetsA->end();++iter){
if ((*iter).pt()>=theMinPt) {
keepEvent=true;
Expand All @@ -98,14 +99,14 @@ bool QCDSingleJetFilter::filter(edm::Event& event, const edm::EventSetup& setup)
break;
}
}
//double randval = theFlatDistrib->fire();


//double randval = theFlatDistrib->fire();
//if (thePreScale<1) keepEvent=false;
//else if ((randval>(1.0/thePreScale))&&keepEvent) keepEvent=false;
// cout<<"KeepEvent?: "<<keepEvent<<endl;

return keepEvent;

}

32 changes: 16 additions & 16 deletions QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,23 +34,23 @@

// access trigger results
#include <DataFormats/Common/interface/TriggerResults.h>
#include <DataFormats/HLTReco/interface/TriggerEvent.h>
#include <DataFormats/HLTReco/interface/TriggerEvent.h>
#include <DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h>

class AnalysisRootpleProducer : public edm::EDAnalyzer
{

public:

//
explicit AnalysisRootpleProducer( const edm::ParameterSet& ) ;
virtual ~AnalysisRootpleProducer() {} // no need to delete ROOT stuff
// as it'll be deleted upon closing TFile

virtual void analyze( const edm::Event&, const edm::EventSetup& ) ;
virtual void beginJob() ;
virtual void endJob() ;

void fillEventInfo(int);
void fillMCParticles(float, float, float, float);
void fillTracks(float, float, float, float);
Expand All @@ -61,17 +61,17 @@ class AnalysisRootpleProducer : public edm::EDAnalyzer
void store();

private:

bool onlyRECO;

edm::InputTag mcEvent; // label of MC event
edm::InputTag genJetCollName; // label of Jet made with MC particles
edm::InputTag chgJetCollName; // label of Jet made with only charged MC particles
edm::InputTag chgGenPartCollName; // label of charged MC particles
edm::InputTag tracksJetCollName;
edm::InputTag recoCaloJetCollName;
edm::InputTag tracksCollName;
edm::InputTag triggerResultsTag;
edm::EDGetTokenT< edm::HepMCProduct > mcEventToken; // label of MC event
edm::EDGetTokenT< reco::GenJetCollection > genJetCollToken; // label of Jet made with MC particles
edm::EDGetTokenT< reco::GenJetCollection > chgJetCollToken; // label of Jet made with only charged MC particles
edm::EDGetTokenT< std::vector<reco::GenParticle> > chgGenPartCollToken; // label of charged MC particles
edm::EDGetTokenT< reco::BasicJetCollection > tracksJetCollToken;
edm::EDGetTokenT< reco::CaloJetCollection > recoCaloJetCollToken;
edm::EDGetTokenT< reco::CandidateCollection > tracksCollToken;
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken;

edm::Handle< edm::HepMCProduct > EvtHandle ;
edm::Handle< std::vector<reco::GenParticle> > CandHandleMC ;
Expand All @@ -89,15 +89,15 @@ class AnalysisRootpleProducer : public edm::EDAnalyzer

TTree* AnalysisTree;

static const int NMCPMAX = 10000;
static const int NMCPMAX = 10000;
static const int NTKMAX = 10000;
static const int NIJMAX = 10000;
static const int NCJMAX = 10000;
static const int NTJMAX = 10000;
static const int NEHJMAX = 10000;

int EventKind,NumberMCParticles,NumberTracks,NumberInclusiveJet,NumberChargedJet,NumberTracksJet,NumberCaloJet;

float MomentumMC[NMCPMAX],TransverseMomentumMC[NMCPMAX],EtaMC[NMCPMAX],PhiMC[NMCPMAX];
float MomentumTK[NTKMAX],TransverseMomentumTK[NTKMAX],EtaTK[NTKMAX],PhiTK[NTKMAX];
float MomentumIJ[NIJMAX],TransverseMomentumIJ[NIJMAX],EtaIJ[NIJMAX],PhiIJ[NIJMAX];
Expand Down
26 changes: 13 additions & 13 deletions QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducerOnlyMC.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,50 +30,50 @@

class AnalysisRootpleProducerOnlyMC : public edm::EDAnalyzer
{

public:

explicit AnalysisRootpleProducerOnlyMC( const edm::ParameterSet& ) ;
virtual ~AnalysisRootpleProducerOnlyMC() {}
virtual ~AnalysisRootpleProducerOnlyMC() {}

virtual void analyze( const edm::Event&, const edm::EventSetup& ) ;
virtual void beginJob() ;
virtual void endJob() ;

void fillEventInfo(int);
void fillMCParticles(float, float, float, float);
void fillInclusiveJet(float, float, float, float);
void fillChargedJet(float, float, float, float);
void store();

private:
edm::InputTag mcEvent; // label of MC event
edm::InputTag genJetCollName; // label of Jet made with MC particles
edm::InputTag chgJetCollName; // label of Jet made with only charged MC particles
edm::InputTag chgGenPartCollName; // label of charged MC particles

edm::EDGetTokenT< edm::HepMCProduct > mcEventToken; // label of MC event
edm::EDGetTokenT< reco::GenJetCollection > genJetCollToken; // label of Jet made with MC particles
edm::EDGetTokenT< reco::GenJetCollection > chgJetCollToken; // label of Jet made with only charged MC particles
edm::EDGetTokenT< std::vector<reco::GenParticle> > chgGenPartCollToken; // label of charged MC particles

edm::Handle< edm::HepMCProduct > EvtHandle ;
edm::Handle< std::vector<reco::GenParticle> > CandHandleMC ;
edm::Handle< reco::GenJetCollection > GenJetsHandle ;
edm::Handle< reco::GenJetCollection > ChgGenJetsHandle ;


float piG;

edm::Service<TFileService> fs;

TTree* AnalysisTree;

static const int NMCPMAX = 10000;
static const int NMCPMAX = 10000;
static const int NTKMAX = 10000;
static const int NIJMAX = 10000;
static const int NCJMAX = 10000;
static const int NTJMAX = 10000;
static const int NEHJMAX = 10000;

int EventKind,NumberMCParticles,NumberTracks,NumberInclusiveJet,NumberChargedJet,NumberTracksJet,NumberCaloJet;

float MomentumMC[NMCPMAX],TransverseMomentumMC[NMCPMAX],EtaMC[NMCPMAX],PhiMC[NMCPMAX];
float MomentumTK[NTKMAX],TransverseMomentumTK[NTKMAX],EtaTK[NTKMAX],PhiTK[NTKMAX];
float MomentumIJ[NIJMAX],TransverseMomentumIJ[NIJMAX],EtaIJ[NIJMAX],PhiIJ[NIJMAX];
Expand All @@ -84,7 +84,7 @@ class AnalysisRootpleProducerOnlyMC : public edm::EDAnalyzer
TClonesArray* MonteCarlo;
TClonesArray* InclusiveJet;
TClonesArray* ChargedJet;

};

#endif
Loading

0 comments on commit 5e0b761

Please sign in to comment.