Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:21:47

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/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 #include "FWCore/ServiceRegistry/interface/Service.h"
0037 #include "CommonTools/UtilAlgos/interface/TFileService.h"
0038 
0039 #include <SimDataFormats/Track/interface/SimTrackContainer.h>
0040 #include <SimDataFormats/Track/interface/SimTrack.h>
0041 #include <SimDataFormats/Vertex/interface/SimVertexContainer.h>
0042 
0043 #include <L1Trigger/CSCTrackFinder/interface/CSCTrackFinderDataTypes.h>
0044 
0045 #include "DataFormats/L1CSCTrackFinder/interface/TrackStub.h"
0046 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h>
0047 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
0048 #include <DataFormats/MuonDetId/interface/CSCTriggerNumbering.h>
0049 #include <DataFormats/L1CSCTrackFinder/interface/CSCTriggerContainer.h>
0050 #include <DataFormats/L1CSCTrackFinder/interface/TrackStub.h>
0051 #include <DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h>
0052 #include <DataFormats/L1CSCTrackFinder/interface/L1CSCTrackCollection.h>
0053 #include <DataFormats/L1CSCTrackFinder/interface/L1CSCStatusDigiCollection.h>
0054 #include <DataFormats/L1DTTrackFinder/interface/L1MuDTChambPhContainer.h>
0055 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
0056 
0057 #include <TMath.h>
0058 #include <TCanvas.h>
0059 #include <TLorentzVector.h>
0060 
0061 #include <TStyle.h>
0062 #include <TLegend.h>
0063 #include <TF1.h>
0064 #include <TH2.h>
0065 
0066 #include <L1Trigger/CSCTrackFinder/test/src/Track.h>
0067 #include <L1Trigger/CSCTrackFinder/test/src/RefTrack.h>
0068 #include <L1Trigger/CSCTrackFinder/test/src/TFTrack.h>
0069 
0070 #include <L1Trigger/CSCTrackFinder/test/src/TrackHistogramList.h>
0071 #include <L1Trigger/CSCTrackFinder/test/src/EffHistogramList.h>
0072 #include <L1Trigger/CSCTrackFinder/test/src/ResolutionHistogramList.h>
0073 #include <L1Trigger/CSCTrackFinder/test/src/MultiplicityHistogramList.h>
0074 #include <L1Trigger/CSCTrackFinder/test/src/StatisticsFile.h>
0075 #include <L1Trigger/CSCTrackFinder/test/src/RHistogram.h>
0076 
0077 namespace csctf_analysis
0078 {
0079   unsigned int minIndex(const std::vector<int>*);
0080   unsigned int minIndex(const std::vector<double>*);
0081 }
0082 
0083 
0084 //
0085 // class declaration
0086 //
0087 
0088 class CSCTFEfficiency : public edm::EDAnalyzer 
0089 {
0090 public:
0091   explicit CSCTFEfficiency(const edm::ParameterSet&);
0092   ~CSCTFEfficiency();
0093   
0094   
0095 private:
0096   virtual void beginJob() ;
0097   virtual void analyze(const edm::Event&, const edm::EventSetup&);
0098   virtual void endJob() ;
0099   
0100   // ----------member data ---------------------------
0101   
0102   csctf_analysis::TrackHistogramList* tfHistList;
0103   csctf_analysis::TrackHistogramList* refHistList;
0104   csctf_analysis::EffHistogramList* effhistlist;
0105   csctf_analysis::ResolutionHistogramList* resHistList;
0106   csctf_analysis::MultiplicityHistogramList* multHistList;
0107   csctf_analysis::StatisticsFile* statFile;
0108   csctf_analysis::RHistogram* rHistogram;
0109 
0110   unsigned int nEvents;
0111   
0112   edm::InputTag inputTag;
0113   double minPtSim;
0114   double maxPtSim;
0115   double minEtaSim;
0116   double maxEtaSim;
0117   double minPtTF;
0118   double minQualityTF;
0119   std::string ghostLoseParam;
0120   std::string statsFilename;
0121   double minMatchRParam; // Added by Daniel 07/02
0122   
0123   const edm::ParameterSet* configuration;
0124   
0125   bool inputData;
0126   bool wantmodes;
0127   bool saveHistImages;
0128   bool singleMuSample;
0129   bool noRefTracks;
0130   int dataType;
0131   std::vector<unsigned> cutOnModes;
0132 
0133 };
0134 #endif