1 #ifndef DQMOffline_Trigger_HLTMuonMatchAndPlot_H
2 #define DQMOffline_Trigger_HLTMuonMatchAndPlot_H
62 std::string cl,
double pD0cut,
double pZ0cut, std::string trackCol, std::vector<std::string> reqTrigs)
105 std::string customName,
106 std::vector<std::string> validTriggers,
111 virtual void begin ( );
184 std::vector<MatchStruct> & myRecMatches,
185 std::vector< std::vector<HltFakeStruct> > & myHltFakeCands
190 std::vector<MatchStruct> & myRecMatches,
191 std::vector< std::vector<HltFakeStruct> > & myHltFakeCands,
196 void virtual fillPlots(std::vector<MatchStruct> & myRecMatches,
197 std::vector< std::vector<HltFakeStruct> > & myHltFakeCands);
205 std::vector<MatchStruct> matches );
207 std::vector<MatchStruct> matches );
225 std::vector<trigger::TriggerObject> & foundObjects,
virtual MonitorElement * bookIt(TString name, TString title, std::vector< double >)
std::vector< MonitorElement * > hPassZ0BeamRec
trigger::TriggerObject myHltCand
std::vector< MonitorElement * > fakeHltCandPt
std::string theHltProcessName
std::string theAodL2Label
trigger::TriggerObject l1Seed
std::vector< MonitorElement * > hPassPtRecExactlyOne
std::vector< double > theDRParameters
static const int POS_CHARGE
std::vector< MonitorElement * > rawMatchHltCandPt
edm::InputTag HltAodInputTag
reco::TrackRef getCandTrackRef(MuonSelectionStruct mySelection, reco::Muon candMuon)
TString calcHistoSuffix(std::string moduleName)
std::vector< std::string > selectedValidTriggers
std::vector< MonitorElement * > hBeamSpotZ0Rec
MonitorElement * hNumOrphansRec
virtual bool applyTriggerSelection(MuonSelectionStruct mySelection, const edm::Event &event)
std::string theNtuplePath
const reco::Muon * recCand
virtual bool selectAndMatchMuons(const edm::Event &iEvent, std::vector< MatchStruct > &myRecMatches, std::vector< std::vector< HltFakeStruct > > &myHltFakeCands)
const reco::Candidate * findMother(const reco::Candidate *)
std::vector< MonitorElement * > hPassD0Rec
bool useFullDebugInformation
std::vector< MonitorElement * > hPassZ0Rec
edm::InputTag RecoMuonInputTag
std::vector< double > theD0Parameters
std::vector< double > theZ0Parameters
std::vector< MonitorElement * > hResoEtaAodRec
std::vector< MonitorElement * > allHltCandPt
edm::InputTag HltRawInputTag
math::XYZTLorentzVector LorentzVector
void moveOverflow(MonitorElement *myElement)
virtual void endRun(const edm::Run &r, const edm::EventSetup &c)
MonitorElement * meNumberOfEvents
Single trigger physics object (e.g., an isolated muon)
std::vector< double > theEtaParameters
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::vector< MonitorElement * > booked1DMonitorElements
int findRecMatch(double eta, double phi, double maxdeltaR, std::vector< MatchStruct > matches)
std::vector< double > theChargeFlipParameters
std::vector< MonitorElement * > hPassMatchPtRec
unsigned int theNumberOfObjects
std::string theL1CollectionLabel
std::string trackCollection
std::vector< MonitorElement * > hIsolationRec
MonitorElement * hNumObjects
static const int NEG_CHARGE
std::vector< double > thePtParameters
std::vector< MonitorElement * > hPassMaxPtRec
std::vector< MonitorElement * > hDeltaRMatched
unsigned int numHltLabels
std::string theTriggerName
std::vector< double > thePhiEtaParameters2d
std::vector< MonitorElement * > hPassCharge
std::string theAodL1Label
std::vector< MonitorElement * > fakeHltCandPhi
std::vector< double > thePhiParameters
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
std::vector< MatchStruct > recMatches
virtual void analyze(const edm::Event &iEvent)
std::vector< double > theIsolationParameters
std::vector< MonitorElement * > hPassD0BeamRec
std::vector< MonitorElement * > rawMatchHltCandPhi
HLTMuonMatchAndPlot(const edm::ParameterSet &pset, std::string triggerName, std::vector< std::string > moduleNames, MuonSelectionStruct inputSelection, std::string customName, std::vector< std::string > validTriggers, const edm::Run ¤tRun, const edm::EventSetup ¤tEventSetup)
Constructor.
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
std::vector< MonitorElement * > hPassEtaRec
std::vector< MonitorElement * > allHltCandPhi
std::vector< double > theMaxPtParameters
std::vector< std::vector< HltFakeStruct > > hltFakeCands
std::vector< LorentzVector > hltRawCands
std::vector< double > theNSigmas
std::vector< MonitorElement * > hPassPtRec
std::vector< MonitorElement * > hPassPhiRec
StringCutObjectSelector< trigger::TriggerObject > hltMuonSelector
std::string theNtupleFileName
std::vector< MonitorElement * > fakeHltCandEta
std::vector< MonitorElement * > allHltCandEta
StringCutObjectSelector< reco::Muon > recoMuonSelector
std::vector< std::string > theHltCollectionLabels
std::vector< double > theResParameters
MuonSelectionStruct mySelection
virtual void fillPlots(std::vector< MatchStruct > &myRecMatches, std::vector< std::vector< HltFakeStruct > > &myHltFakeCands)
std::vector< MonitorElement * > hMatchedDeltaPhi
int findGenMatch(double eta, double phi, double maxDeltaR, std::vector< MatchStruct > matches)
std::vector< MonitorElement * > hResoPhiAodRec
trigger::TriggerObject l1Cand
MuonSelectionStruct(StringCutObjectSelector< reco::Muon > rsel, StringCutObjectSelector< trigger::TriggerObject > hltsel, std::string cl, double pD0cut, double pZ0cut, std::string trackCol, std::vector< std::string > reqTrigs)
std::vector< trigger::TriggerObject > hltCands
std::string histoFileName
void getAodTriggerObjectsForModule(edm::InputTag collectionTag, edm::Handle< trigger::TriggerEvent > aodTriggerEvent, trigger::TriggerObjectCollection trigObjs, std::vector< trigger::TriggerObject > &foundObjects, MuonSelectionStruct muonSelection)
std::vector< double > thePhiParameters0Pi
std::vector< double > theChargeParameters
bool requireL1SeedForHLTPaths
bool createStandAloneHistos
virtual bool applyTrackSelection(MuonSelectionStruct mySelection, reco::Muon candMuon)
edm::InputTag BeamSpotInputTag
std::vector< std::string > requiredTriggers
std::vector< MonitorElement * > hResoPtAodRec
std::vector< MonitorElement * > hChargeFlipMatched
std::string theL1SeedModuleForHLTPath
virtual ~HLTMuonMatchAndPlot()
math::PtEtaPhiELorentzVectorF LorentzVector
std::vector< MonitorElement * > hPassExaclyOneMuonMaxPtRec
std::vector< MonitorElement * > hPhiVsEtaRec
std::vector< MonitorElement * > rawMatchHltCandEta
edm::InputTag TriggerResultLabel