Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:33

0001 
0002 // -*- C++ -*-
0003 //
0004 // Package:    CSCTFEfficiency
0005 // Class:      CSCTFEfficiency
0006 //
0007 /**\class CSCTFEfficiency CSCTFEfficiency.cc jhugon/CSCTFEfficiency/src/CSCTFEfficiency.cc
0008    
0009 Description: [one line class summary]
0010 
0011 Implementation:
0012 [Notes on implementation]
0013 */
0014 //
0015 // Original Author:  Justin Hugon,Ivan's graduate student,jhugon@phys.ufl.edu
0016 //         Created:  Thu Jun 10 10:40:10 EDT 2010
0017 // $Id: CSCTFEfficiency.h,v 1.2 2012/02/10 10:54:57 jhugon Exp $
0018 //
0019 //
0020 #ifndef jhugon_CSCTFEfficiency_h
0021 #define jhugon_CSCTFEfficiency_h
0022 
0023 // system include files
0024 #include <memory>
0025 #include <vector>
0026 #include <string>
0027 
0028 // user include files
0029 #include "FWCore/Framework/interface/Frameworkfwd.h"
0030 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0031 
0032 #include "FWCore/Framework/interface/Event.h"
0033 #include "FWCore/Framework/interface/MakerMacros.h"
0034 
0035 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0036 
0037 #include <SimDataFormats/Track/interface/SimTrackContainer.h>
0038 #include <SimDataFormats/Track/interface/SimTrack.h>
0039 #include <SimDataFormats/Vertex/interface/SimVertexContainer.h>
0040 
0041 #include <L1Trigger/CSCTrackFinder/interface/CSCTrackFinderDataTypes.h>
0042 
0043 #include "DataFormats/L1CSCTrackFinder/interface/TrackStub.h"
0044 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h>
0045 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
0046 #include <DataFormats/MuonDetId/interface/CSCTriggerNumbering.h>
0047 #include <DataFormats/L1CSCTrackFinder/interface/CSCTriggerContainer.h>
0048 #include <DataFormats/L1CSCTrackFinder/interface/TrackStub.h>
0049 #include <DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h>
0050 #include <DataFormats/L1CSCTrackFinder/interface/L1CSCTrackCollection.h>
0051 #include <DataFormats/L1CSCTrackFinder/interface/L1CSCStatusDigiCollection.h>
0052 #include <DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhContainer.h>
0053 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
0054 
0055 #include <TMath.h>
0056 #include <TCanvas.h>
0057 #include <TLorentzVector.h>
0058 
0059 #include <TStyle.h>
0060 #include <TLegend.h>
0061 #include <TF1.h>
0062 #include <TH2.h>
0063 
0064 #include <L1Trigger/CSCTrackFinder/test/src/Track.h>
0065 #include <L1Trigger/CSCTrackFinder/test/src/RefTrack.h>
0066 #include <L1Trigger/CSCTrackFinder/test/src/TFTrack.h>
0067 
0068 #include <L1Trigger/CSCTrackFinder/test/src/TrackHistogramList.h>
0069 #include <L1Trigger/CSCTrackFinder/test/src/EffHistogramList.h>
0070 #include <L1Trigger/CSCTrackFinder/test/src/ResolutionHistogramList.h>
0071 #include <L1Trigger/CSCTrackFinder/test/src/MultiplicityHistogramList.h>
0072 #include <L1Trigger/CSCTrackFinder/test/src/StatisticsFile.h>
0073 #include <L1Trigger/CSCTrackFinder/test/src/RHistogram.h>
0074 
0075 namespace csctf_analysis {
0076   unsigned int minIndex(const std::vector<int>*);
0077   unsigned int minIndex(const std::vector<double>*);
0078 }  // namespace csctf_analysis
0079 
0080 //
0081 // class declaration
0082 //
0083 
0084 class CSCTFEfficiency : public edm::one::EDAnalyzer<edm::one::SharedResources> {
0085 public:
0086   explicit CSCTFEfficiency(const edm::ParameterSet&);
0087   ~CSCTFEfficiency();
0088 
0089 private:
0090   virtual void beginJob();
0091   virtual void analyze(const edm::Event&, const edm::EventSetup&);
0092   virtual void endJob();
0093 
0094   // ----------member data ---------------------------
0095 
0096   csctf_analysis::TrackHistogramList* tfHistList;
0097   csctf_analysis::TrackHistogramList* refHistList;
0098   csctf_analysis::EffHistogramList* effhistlist;
0099   csctf_analysis::ResolutionHistogramList* resHistList;
0100   csctf_analysis::MultiplicityHistogramList* multHistList;
0101   csctf_analysis::StatisticsFile* statFile;
0102   csctf_analysis::RHistogram* rHistogram;
0103 
0104   unsigned int nEvents;
0105 
0106   edm::InputTag inputTag;
0107   double minPtSim;
0108   double maxPtSim;
0109   double minEtaSim;
0110   double maxEtaSim;
0111   double minPtTF;
0112   double minQualityTF;
0113   std::string ghostLoseParam;
0114   std::string statsFilename;
0115   double minMatchRParam;  // Added by Daniel 07/02
0116 
0117   const edm::ParameterSet* configuration;
0118 
0119   bool inputData;
0120   bool wantmodes;
0121   bool saveHistImages;
0122   bool singleMuSample;
0123   bool noRefTracks;
0124   int dataType;
0125   std::vector<unsigned> cutOnModes;
0126 };
0127 #endif