#include <PreshowerAnalyzer.h>
Public Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob () |
virtual void | endJob () |
PreshowerAnalyzer (const edm::ParameterSet &) | |
~PreshowerAnalyzer () | |
Private Attributes | |
double | calib_planeX_ |
double | calib_planeY_ |
float | EmaxDE_ |
float | EmaxSC_ |
float | EminDE_ |
float | EminSC_ |
double | gamma_ |
TH1F * | h1_esDeltaE |
TH1F * | h1_esE_x |
TH1F * | h1_esE_y |
TH1F * | h1_esEta_x |
TH1F * | h1_esEta_y |
TH1F * | h1_esNhits_x |
TH1F * | h1_esNhits_y |
TH1F * | h1_esPhi_x |
TH1F * | h1_esPhi_y |
TH1F * | h1_islandEESCEnergy1 |
TH1F * | h1_islandEESCEnergy2 |
TH1F * | h1_nclu_x |
TH1F * | h1_nclu_y |
std::string | islandEndcapSuperClusterCollection1_ |
std::string | islandEndcapSuperClusterCollection2_ |
std::string | islandEndcapSuperClusterProducer1_ |
std::string | islandEndcapSuperClusterProducer2_ |
double | mip_ |
int | nBinDE_ |
int | nBinSC_ |
int | nEvt_ |
std::string | outputFile_ |
std::string | preshClusterCollectionX_ |
std::string | preshClusterCollectionY_ |
std::string | preshClusterProducer_ |
TFile * | rootFile_ |
Description: Analyzer to fetch collection of objects from event and make simple plots
Implementation: \
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 35 of file PreshowerAnalyzer.h.
PreshowerAnalyzer::PreshowerAnalyzer | ( | const edm::ParameterSet & | ps | ) | [explicit] |
Definition at line 30 of file PreshowerAnalyzer.cc.
References calib_planeX_, calib_planeY_, EmaxDE_, EmaxSC_, EminDE_, EminSC_, gamma_, edm::ParameterSet::getParameter(), islandEndcapSuperClusterCollection1_, islandEndcapSuperClusterCollection2_, islandEndcapSuperClusterProducer1_, islandEndcapSuperClusterProducer2_, mip_, nBinDE_, nBinSC_, nEvt_, outputFile_, preshClusterCollectionX_, preshClusterCollectionY_, preshClusterProducer_, rootFile_, and AlCaHLTBitMon_QueryRunRegistry::string.
{ EminDE_ = ps.getParameter<double>("EminDE"); EmaxDE_ = ps.getParameter<double>("EmaxDE"); nBinDE_ = ps.getParameter<int>("nBinDE"); EminSC_ = ps.getParameter<double>("EminSC"); EmaxSC_ = ps.getParameter<double>("EmaxSC"); nBinSC_ = ps.getParameter<int>("nBinSC"); preshClusterCollectionX_ = ps.getParameter<std::string>("preshClusterCollectionX"); preshClusterCollectionY_ = ps.getParameter<std::string>("preshClusterCollectionY"); preshClusterProducer_ = ps.getParameter<std::string>("preshClusterProducer"); islandEndcapSuperClusterCollection1_ = ps.getParameter<std::string>("islandEndcapSuperClusterCollection1"); islandEndcapSuperClusterProducer1_ = ps.getParameter<std::string>("islandEndcapSuperClusterProducer1"); islandEndcapSuperClusterCollection2_ = ps.getParameter<std::string>("islandEndcapSuperClusterCollection2"); islandEndcapSuperClusterProducer2_ = ps.getParameter<std::string>("islandEndcapSuperClusterProducer2"); outputFile_ = ps.getParameter<std::string>("outputFile"); rootFile_ = TFile::Open(outputFile_.c_str(),"RECREATE"); // open output file to store histograms // calibration parameters: calib_planeX_ = ps.getParameter<double>("preshCalibPlaneX"); calib_planeY_ = ps.getParameter<double>("preshCalibPlaneY"); gamma_ = ps.getParameter<double>("preshCalibGamma"); mip_ = ps.getParameter<double>("preshCalibMIP"); nEvt_ = 0; }
PreshowerAnalyzer::~PreshowerAnalyzer | ( | ) |
void PreshowerAnalyzer::analyze | ( | const edm::Event & | evt, |
const edm::EventSetup & | es | ||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 96 of file PreshowerAnalyzer.cc.
References calib_planeX_, calib_planeY_, alignCSCRings::e, gamma_, edm::Event::getByLabel(), h1_esDeltaE, h1_esE_x, h1_esE_y, h1_esEta_x, h1_esEta_y, h1_esNhits_x, h1_esNhits_y, h1_esPhi_x, h1_esPhi_y, h1_islandEESCEnergy1, h1_islandEESCEnergy2, h1_nclu_x, h1_nclu_y, islandEndcapSuperClusterCollection1_, islandEndcapSuperClusterCollection2_, islandEndcapSuperClusterProducer1_, islandEndcapSuperClusterProducer2_, mip_, nEvt_, preshClusterCollectionX_, preshClusterCollectionY_, and preshClusterProducer_.
{ //======================================================================== using namespace edm; // needed for all fwk related classe //std::cout << "\n ....... Event # " << nEvt_+1 << " is analyzing ....... " << std::endl << std::endl; // Get island super clusters Handle<reco::SuperClusterCollection> pIslandEndcapSuperClusters1; evt.getByLabel(islandEndcapSuperClusterProducer1_, islandEndcapSuperClusterCollection1_, pIslandEndcapSuperClusters1); const reco::SuperClusterCollection* islandEndcapSuperClusters1 = pIslandEndcapSuperClusters1.product(); //std::cout << "\n islandEndcapSuperClusters1->size() = " << islandEndcapSuperClusters1->size() << std::endl; // loop over the super clusters and fill the histogram for(reco::SuperClusterCollection::const_iterator aClus = islandEndcapSuperClusters1->begin(); aClus != islandEndcapSuperClusters1->end(); aClus++) { h1_islandEESCEnergy1->Fill( aClus->energy() ); } // Get island super clusters Handle<reco::SuperClusterCollection> pIslandEndcapSuperClusters2; evt.getByLabel(islandEndcapSuperClusterProducer2_, islandEndcapSuperClusterCollection2_, pIslandEndcapSuperClusters2); const reco::SuperClusterCollection* islandEndcapSuperClusters2 = pIslandEndcapSuperClusters2.product(); //std::cout << "\n islandEndcapSuperClusters2->size() = " << islandEndcapSuperClusters2->size() << std::endl; // loop over the super clusters and fill the histogram for(reco::SuperClusterCollection::const_iterator aClus = islandEndcapSuperClusters2->begin(); aClus != islandEndcapSuperClusters2->end(); aClus++) { h1_islandEESCEnergy2->Fill( aClus->energy() ); } // Get ES clusters in X plane Handle<reco::PreshowerClusterCollection> pPreshowerClustersX; evt.getByLabel(preshClusterProducer_, preshClusterCollectionX_, pPreshowerClustersX); const reco::PreshowerClusterCollection *clustersX = pPreshowerClustersX.product(); h1_nclu_x->Fill( clustersX->size() ); //std::cout << "\n pPreshowerClustersX->size() = " << clustersX->size() << std::endl; Handle<reco::PreshowerClusterCollection> pPreshowerClustersY; evt.getByLabel(preshClusterProducer_, preshClusterCollectionY_, pPreshowerClustersY); const reco::PreshowerClusterCollection *clustersY = pPreshowerClustersY.product(); h1_nclu_y->Fill( clustersY->size() ); //std::cout << "\n pPreshowerClustersY->size() = " << clustersY->size() << std::endl; // loop over the ES clusters and fill the histogram float e1 = 0; for(reco::PreshowerClusterCollection::const_iterator esClus = clustersX->begin(); esClus !=clustersX->end(); esClus++) { e1 += esClus->energy(); h1_esE_x->Fill( esClus->energy() ); h1_esEta_x->Fill( esClus->eta() ); h1_esPhi_x->Fill( esClus->phi() ); h1_esNhits_x->Fill( esClus->nhits() ); } float e2 = 0; for(reco::PreshowerClusterCollection::const_iterator esClus = clustersY->begin(); esClus !=clustersY->end(); esClus++) { e2 += esClus->energy(); h1_esE_y->Fill( esClus->energy() ); h1_esEta_y->Fill( esClus->eta() ); h1_esPhi_y->Fill( esClus->phi() ); h1_esNhits_y->Fill( esClus->nhits() ); } float deltaE = 0; if(e1+e2 > 1.0e-10) { // GeV to #MIPs e1 = e1 / mip_; e2 = e2 / mip_; deltaE = gamma_*(calib_planeX_*e1+calib_planeY_*e2); } h1_esDeltaE->Fill(deltaE); nEvt_++; }
void PreshowerAnalyzer::beginJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 72 of file PreshowerAnalyzer.cc.
References EmaxDE_, EmaxSC_, EminDE_, EminSC_, h1_esDeltaE, h1_esE_x, h1_esE_y, h1_esEta_x, h1_esEta_y, h1_esNhits_x, h1_esNhits_y, h1_esPhi_x, h1_esPhi_y, h1_islandEESCEnergy1, h1_islandEESCEnergy2, h1_nclu_x, h1_nclu_y, nBinDE_, nBinSC_, and rootFile_.
{ //======================================================================== rootFile_->cd(); h1_esE_x = new TH1F("esE_x"," ES cluster Energy in X-plane",20, 0, 0.03); h1_esE_y = new TH1F("esE_y"," ES cluster Energy in Y-plane",20, 0, 0.03); h1_esEta_x = new TH1F("esEta_x"," ES cluster Eta in X-plane",12, 1.5, 2.7); h1_esEta_y = new TH1F("esEta_y"," ES cluster Eta in Y-plane",12, 1.5, 2.7); h1_esPhi_x = new TH1F("esPhi_x"," ES cluster Phi in X-plane",20, 0, 6.28); h1_esPhi_y = new TH1F("esPhi_y"," ES cluster Phi in Y-plane",20, 0, 6.28); h1_esNhits_x = new TH1F("esNhits_x"," ES cluster Nhits in X-plane",10, 0, 10); h1_esNhits_y = new TH1F("esNhits_y"," ES cluster Nhits in Y-plane",10, 0, 10); h1_esDeltaE = new TH1F("esDeltaE"," DeltaE", nBinDE_, EminDE_, EmaxDE_); h1_nclu_x = new TH1F("esNclu_x"," number of ES clusters (for one SC) in X-plane",20, 0, 80); h1_nclu_y = new TH1F("esNclu_y"," number of ES clusters (for one SC) in Y-plane",20, 0, 80); h1_islandEESCEnergy1 = new TH1F("islandEESCEnergy1","Energy of super clusters with island algo - endcap1",nBinSC_,EminSC_,EmaxSC_); h1_islandEESCEnergy2 = new TH1F("islandEESCEnergy2","Energy of super clusters with island algo - endcap2",nBinSC_,EminSC_,EmaxSC_); }
void PreshowerAnalyzer::endJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 178 of file PreshowerAnalyzer.cc.
References h1_esDeltaE, h1_esE_x, h1_esE_y, h1_esEta_x, h1_esEta_y, h1_esNhits_x, h1_esNhits_y, h1_esPhi_x, h1_esPhi_y, h1_islandEESCEnergy1, h1_islandEESCEnergy2, h1_nclu_x, h1_nclu_y, and rootFile_.
{ //======================================================================== rootFile_->cd(); h1_esE_x->Write(); h1_esE_y->Write(); h1_esEta_x->Write(); h1_esEta_y->Write(); h1_esPhi_x->Write(); h1_esPhi_y->Write(); h1_esNhits_x->Write(); h1_esNhits_y->Write(); h1_esDeltaE->Write(); h1_nclu_x->Write(); h1_nclu_y->Write(); h1_islandEESCEnergy1->Write(); h1_islandEESCEnergy2->Write(); rootFile_->Close(); }
double PreshowerAnalyzer::calib_planeX_ [private] |
Definition at line 60 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
double PreshowerAnalyzer::calib_planeY_ [private] |
Definition at line 61 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
float PreshowerAnalyzer::EmaxDE_ [private] |
Definition at line 50 of file PreshowerAnalyzer.h.
Referenced by beginJob(), and PreshowerAnalyzer().
float PreshowerAnalyzer::EmaxSC_ [private] |
Definition at line 53 of file PreshowerAnalyzer.h.
Referenced by beginJob(), and PreshowerAnalyzer().
float PreshowerAnalyzer::EminDE_ [private] |
Definition at line 49 of file PreshowerAnalyzer.h.
Referenced by beginJob(), and PreshowerAnalyzer().
float PreshowerAnalyzer::EminSC_ [private] |
Definition at line 52 of file PreshowerAnalyzer.h.
Referenced by beginJob(), and PreshowerAnalyzer().
double PreshowerAnalyzer::gamma_ [private] |
Definition at line 63 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
TH1F* PreshowerAnalyzer::h1_esDeltaE [private] |
Definition at line 80 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esE_x [private] |
Definition at line 72 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esE_y [private] |
Definition at line 73 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esEta_x [private] |
Definition at line 74 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esEta_y [private] |
Definition at line 75 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esNhits_x [private] |
Definition at line 78 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esNhits_y [private] |
Definition at line 79 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esPhi_x [private] |
Definition at line 76 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_esPhi_y [private] |
Definition at line 77 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_islandEESCEnergy1 [private] |
Definition at line 83 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_islandEESCEnergy2 [private] |
Definition at line 84 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_nclu_x [private] |
Definition at line 81 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
TH1F* PreshowerAnalyzer::h1_nclu_y [private] |
Definition at line 82 of file PreshowerAnalyzer.h.
Referenced by analyze(), beginJob(), and endJob().
std::string PreshowerAnalyzer::islandEndcapSuperClusterCollection1_ [private] |
Definition at line 66 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
std::string PreshowerAnalyzer::islandEndcapSuperClusterCollection2_ [private] |
Definition at line 69 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
std::string PreshowerAnalyzer::islandEndcapSuperClusterProducer1_ [private] |
Definition at line 67 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
std::string PreshowerAnalyzer::islandEndcapSuperClusterProducer2_ [private] |
Definition at line 70 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
double PreshowerAnalyzer::mip_ [private] |
Definition at line 62 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
int PreshowerAnalyzer::nBinDE_ [private] |
Definition at line 51 of file PreshowerAnalyzer.h.
Referenced by beginJob(), and PreshowerAnalyzer().
int PreshowerAnalyzer::nBinSC_ [private] |
Definition at line 54 of file PreshowerAnalyzer.h.
Referenced by beginJob(), and PreshowerAnalyzer().
int PreshowerAnalyzer::nEvt_ [private] |
Definition at line 47 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
std::string PreshowerAnalyzer::outputFile_ [private] |
Definition at line 86 of file PreshowerAnalyzer.h.
Referenced by PreshowerAnalyzer().
std::string PreshowerAnalyzer::preshClusterCollectionX_ [private] |
Definition at line 56 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
std::string PreshowerAnalyzer::preshClusterCollectionY_ [private] |
Definition at line 57 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
std::string PreshowerAnalyzer::preshClusterProducer_ [private] |
Definition at line 58 of file PreshowerAnalyzer.h.
Referenced by analyze(), and PreshowerAnalyzer().
TFile* PreshowerAnalyzer::rootFile_ [private] |
Definition at line 87 of file PreshowerAnalyzer.h.
Referenced by beginJob(), endJob(), PreshowerAnalyzer(), and ~PreshowerAnalyzer().