CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/HLTrigger/HLTanalyzers/interface/HLTMuon.h

Go to the documentation of this file.
00001 #ifndef HLTMUON_H
00002 #define HLTMUON_H
00003 
00004 #include "TH1.h"
00005 #include "TH2.h"
00006 #include "TFile.h"
00007 #include "TNamed.h"
00008 #include <vector>
00009 #include <map>
00010 #include "TROOT.h"
00011 #include "TChain.h"
00012 
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "DataFormats/MuonReco/interface/Muon.h"
00015 #include "DataFormats/MuonReco/interface/MuonFwd.h"
00016 #include "DataFormats/Candidate/interface/Candidate.h"
00017 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00018 
00019 #include "DataFormats/TrackReco/interface/Track.h"
00020 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
00021 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
00022 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00023 #include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h"
00024 //#include "DataFormats/MuonReco/interface/MuonTrackLinks.h"
00025 #include "DataFormats/MuonSeed/interface/L3MuonTrajectorySeed.h"
00026 #include "DataFormats/MuonSeed/interface/L3MuonTrajectorySeedCollection.h"
00027 #include "DataFormats/MuonSeed/interface/L2MuonTrajectorySeed.h" 
00028 #include "DataFormats/MuonSeed/interface/L2MuonTrajectorySeedCollection.h" 
00029 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h" 
00030 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h" 
00031 
00032 #include "HLTrigger/HLTanalyzers/interface/JetUtil.h"
00033 #include "HLTrigger/HLTanalyzers/interface/CaloTowerBoundries.h"
00034 
00035 #include "DataFormats/METReco/interface/CaloMETCollection.h"
00036 
00037 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00038 #include "DataFormats/Math/interface/Point3D.h"
00039 
00040 typedef std::vector<std::string> MyStrings;
00041 
00048 class HLTMuon {
00049 public:
00050   HLTMuon(); 
00051 
00052   void setup(const edm::ParameterSet& pSet, TTree* tree);
00053 
00055   void analyze(const edm::Handle<reco::MuonCollection>                 & muon,
00056                const edm::Handle<l1extra::L1MuonParticleCollection>   & mucands1, 
00057                const edm::Handle<reco::RecoChargedCandidateCollection> & mucands2,
00058                const edm::Handle<edm::ValueMap<bool> >           & isoMap2,
00059                const edm::Handle<reco::RecoChargedCandidateCollection> & mucands3,
00060                const edm::Handle<edm::ValueMap<bool> >           & isoMap3,
00061                const edm::Handle<reco::RecoChargedCandidateCollection> & oniaPixelCands,
00062                const edm::Handle<reco::RecoChargedCandidateCollection> & oniaTrackCands,
00063                const edm::Handle<reco::RecoChargedCandidateCollection> & munovtxcands2, 
00064                const reco::BeamSpot::Point & BSPosition,
00065                TTree* tree);
00066 
00067 
00068 private:
00069 
00070   // Tree variables
00071   float *muonpt, *muonphi, *muoneta, *muonet, *muone, *muonchi2NDF, *muoncharge,
00072   *muonTrkIsoR03, *muonECalIsoR03, *muonHCalIsoR03, *muonD0;
00073   int *muontype, *muonNValidTrkHits, *muonNValidMuonHits;
00074   float *muonl2pt, *muonl2eta, *muonl2phi, *muonl2dr, *muonl2dz;
00075   float *muonl3pt, *muonl3eta, *muonl3phi, *muonl3dr, *muonl3dz;
00076   float *muonl2novtxpt, *muonl2novtxeta, *muonl2novtxphi, *muonl2novtxdr, *muonl2novtxdz; 
00077   float *muonl2pterr, *muonl3pterr, *muonl2novtxpterr;
00078   int nmuon, nmu2cand, nmu3cand, nmu2novtxcand;
00079   int *muonl2chg, *muonl2iso, *muonl3chg, *muonl3iso, *muonl32idx, *muonl21idx, *muonl2novtxchg, *muonl2novtxiso, *muonl2novtx1idx;
00080   int nOniaPixelCand, nOniaTrackCand;
00081   float *oniaPixelpt, *oniaPixeleta, *oniaPixelphi, *oniaPixeldr, *oniaPixeldz, *oniaPixelNormChi2;
00082   float *oniaTrackpt, *oniaTracketa, *oniaTrackphi, *oniaTrackdr, *oniaTrackdz, *oniaTrackNormChi2;
00083   int *oniaPixelchg, *oniaTrackchg, *oniaPixelHits, *oniaTrackHits;
00084         
00085 
00086   // input variables
00087   bool _Monte,_Debug;
00088 
00089   int evtCounter;
00090 
00091   const float etaBarrel() {return 1.4;}
00092 
00093 };
00094 
00095 #endif