#include <MuonAnalyzer.h>
|
void | analyze (const edm::Event &event, const edm::EventSetup &eventSetup) |
|
virtual void | beginJob () |
|
virtual void | endJob () |
|
| ExampleMuonAnalyzer (const edm::ParameterSet &pset) |
| Constructor. More...
|
|
virtual | ~ExampleMuonAnalyzer () |
| Destructor. More...
|
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzer () |
|
ModuleDescription const & | moduleDescription () const |
|
std::string | workerType () const |
|
virtual | ~EDAnalyzer () |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
| EDConsumerBase () |
|
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
|
std::vector
< ProductHolderIndexAndSkipBit >
const & | itemsToGetFromEvent () const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
|
virtual | ~EDConsumerBase () |
|
Analyzer of the muon objects
- Author
- R. Bellan - CERN ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch
Definition at line 25 of file MuonAnalyzer.h.
ExampleMuonAnalyzer::~ExampleMuonAnalyzer |
( |
| ) |
|
|
virtual |
simple selection... Do not want to write here my super-secret Higgs analysis ;-)
Implements edm::EDAnalyzer.
Definition at line 68 of file MuonAnalyzer.cc.
References muon::All, muon::AllArbitrated, muon::AllStandAloneMuons, muon::AllTrackerMuons, diffTreeTool::diff, muon::GlobalMuonPromptTight, muon::isGoodMuon(), metsig::muon, patZpeak::muons, muon::segmentCompatibility(), WZElectronSkims53X_cff::selectedMuons, muon::TM2DCompatibilityLoose, muon::TM2DCompatibilityTight, muon::TMLastStationLoose, muon::TMLastStationOptimizedLowPtLoose, muon::TMLastStationOptimizedLowPtTight, muon::TMLastStationTight, muon::TMOneStationLoose, muon::TMOneStationTight, and muon::TrackerMuonArbitrated.
81 for (pat::MuonCollection::const_iterator
muon = muons->begin();
muon != muons->end(); ++
muon){
88 if(
muon->genLepton()!=0){
89 double reso = (
muon->pt() -
muon->genLepton()->pt())/
muon->genLepton()->pt();
94 if(
muon->isEnergyValid())
98 if(
muon->isStandAloneMuon())
99 if(
muon->isGlobalMuon())
110 if(
muon->isGlobalMuon()){
111 double diff =
muon->innerTrack()->pt() -
muon->standAloneMuon()->pt();
118 if(
muon->isCaloCompatibilityValid())
166 if(
muon->isIsolationValid()){
177 if(
muon->isolationR03().sumPt< 0.2){
178 if(
muon->isGlobalMuon() ||
181 selectedMuons.push_back(*
muon);
186 if(selectedMuons.size() == 4){
188 for (pat::MuonCollection::const_iterator
muon = selectedMuons.begin();
muon != selectedMuons.end(); ++
muon){
189 p4CM = p4CM +
muon->p4();
TH1F * hMuSegCompatibility
TH1F * hMuCaloCompatibility
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::vector< Muon > MuonCollection
edm::EDGetTokenT< pat::MuonCollection > theMuonToken
void ExampleMuonAnalyzer::beginJob |
( |
void |
| ) |
|
|
virtual |
Reimplemented from edm::EDAnalyzer.
Definition at line 37 of file MuonAnalyzer.cc.
References fileService, and TFileService::make().
41 hPtRec = fileService->
make<TH1F>(
"pT",
"p_{T}^{rec}",250,0,120);
42 hPtReso = fileService->
make<TH2F>(
"pT_Reso",
"(p_{T}^{rec}-p_{T}^{sim})/p_{T}^{sim}",250,0,120,100,-0.2,0.2);
T * make(const Args &...args) const
make new ROOT object
TH1F * hMuSegCompatibility
TH1F * hMuCaloCompatibility
edm::Service< TFileService > fileService
void ExampleMuonAnalyzer::endJob |
( |
void |
| ) |
|
|
virtual |
TH1F* ExampleMuonAnalyzer::h4MuInvMass |
|
private |
TH1I* ExampleMuonAnalyzer::hChamberMatched |
|
private |
TH1F* ExampleMuonAnalyzer::hEHcal |
|
private |
TH1F* ExampleMuonAnalyzer::hMuCaloCompatibility |
|
private |
TH1I* ExampleMuonAnalyzer::hMuIdAlgo |
|
private |
TH1F* ExampleMuonAnalyzer::hMuIso03CaloComb |
|
private |
TH1F* ExampleMuonAnalyzer::hMuIso03SumPt |
|
private |
TH1I* ExampleMuonAnalyzer::hMuonType |
|
private |
TH1F* ExampleMuonAnalyzer::hMuSegCompatibility |
|
private |
TH1I* ExampleMuonAnalyzer::hNMuons |
|
private |
TH1F* ExampleMuonAnalyzer::hPtRec |
|
private |
TH2F* ExampleMuonAnalyzer::hPtReso |
|
private |
TH1F* ExampleMuonAnalyzer::hPtSTATKDiff |
|
private |