File indexing completed on 2024-04-06 12:19:33
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef jhugon_CSCTFEfficiency_h
0021 #define jhugon_CSCTFEfficiency_h
0022
0023
0024 #include <memory>
0025 #include <vector>
0026 #include <string>
0027
0028
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 }
0079
0080
0081
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
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;
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