CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HLTOniaSource Class Reference

#include <HLTOniaSource.h>

Inheritance diagram for HLTOniaSource:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 HLTOniaSource (const edm::ParameterSet &)
 
 ~HLTOniaSource ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
 
void bookOniaTriggerInvariantMassMEs (std::map< std::string, MonitorElement * > &, std::string, std::string)
 
void bookOniaTriggerMEs (std::map< std::string, MonitorElement * > &, std::string)
 
bool checkHLTConfiguration (const edm::Run &, const edm::EventSetup &, std::string)
 
virtual void endJob ()
 
void fillInvariantMass (std::vector< reco::RecoChargedCandidateRef > &, reco::RecoChargedCandidateCollection &, std::string, std::string)
 
void fillInvariantMass (std::vector< reco::RecoChargedCandidateRef > &, std::vector< reco::RecoChargedCandidateRef > &, std::string, std::string)
 
void fillInvariantMass (std::vector< reco::RecoChargedCandidateRef > &, reco::TrackCollection &, std::string, std::string)
 
void fillOniaTriggerMEs (edm::Handle< reco::RecoChargedCandidateCollection > &, std::string, std::map< std::string, MonitorElement * > &)
 
void fillOniaTriggerMEs (edm::Handle< reco::TrackCollection > &, std::string, std::map< std::string, MonitorElement * > &)
 
void fillOniaTriggerMEs (std::vector< reco::RecoChargedCandidateRef > &, std::string, std::map< std::string, MonitorElement * > &)
 

Private Attributes

edm::InputTag beamSpotTag_
 
reco::BeamSpot::Point BSPosition_
 
DQMStoredbe_
 
bool hltConfigInit_
 
std::string hltProcessName_
 
std::map< std::string,
MonitorElement * > 
massME_
 
std::map< std::string,
MonitorElement * > 
muonME_
 
std::vector< edm::InputTagoniaMuonTag_
 
std::map< std::string,
MonitorElement * > 
pixelAfterFilterME_
 
std::map< std::string,
MonitorElement * > 
pixelME_
 
edm::InputTag pixelTag_
 
std::vector< edm::InputTagpixelTagsAfterFilter_
 
std::string subsystemFolder_
 
std::map< std::string,
MonitorElement * > 
trackAfterFilterME_
 
std::map< std::string,
MonitorElement * > 
trackME_
 
edm::InputTag trackTag_
 
std::vector< edm::InputTagtrackTagsAfterFilter_
 
std::vector< std::string > triggerPath_
 
edm::InputTag triggerSummaryRAWTag_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 28 of file HLTOniaSource.h.

Constructor & Destructor Documentation

HLTOniaSource::HLTOniaSource ( const edm::ParameterSet pset)
explicit

Definition at line 25 of file HLTOniaSource.cc.

References beamSpotTag_, edm::ParameterSet::getUntrackedParameter(), hltProcessName_, oniaMuonTag_, pixelTag_, pixelTagsAfterFilter_, AlCaHLTBitMon_QueryRunRegistry::string, subsystemFolder_, trackTag_, trackTagsAfterFilter_, triggerPath_, and triggerSummaryRAWTag_.

25  {
26 
27  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Constructor";
28 
29  //HLTrigger Path Names
30  std::vector<std::string> myTriggerPaths;
31  myTriggerPaths.push_back("HLT_Mu0_Track0_Jpsi");
32  myTriggerPaths.push_back("HLT_Mu3_Track0_Jpsi");
33  myTriggerPaths.push_back("HLT_Mu5_Track0_Jpsi");
34  triggerPath_ = pset.getUntrackedParameter<std::vector<std::string> >("TriggerPathNames",myTriggerPaths);
35 
36  //Tag for Onia Muons
37  std::vector<edm::InputTag> myOniaMuonTags;
38 
39  myOniaMuonTags.push_back(edm::InputTag("hltMu0TrackJpsiL3Filtered0", "", "HLT"));
40  myOniaMuonTags.push_back(edm::InputTag("hltMu3TrackJpsiL3Filtered3", "", "HLT"));
41  myOniaMuonTags.push_back(edm::InputTag("hltMu5TrackJpsiL3Filtered5", "", "HLT"));
42  oniaMuonTag_ = pset.getUntrackedParameter<std::vector<edm::InputTag> >("OniaMuonTag",myOniaMuonTags);
43 
44  //Tag for Pixel tracks before Onia filter
45  pixelTag_ = pset.getUntrackedParameter<edm::InputTag>("PixelTag",edm::InputTag("hltPixelTracks", "", "HLT"));
46 
47  //Tag for Tracker tracks before Onia filter
48  trackTag_ = pset.getUntrackedParameter<edm::InputTag>("TrackTag",edm::InputTag("hltMuTrackJpsiCtfTrackCands","", "HLT"));
49 
50  beamSpotTag_ = pset.getUntrackedParameter<edm::InputTag>("BeamSpotTag",edm::InputTag("hltOfflineBeamSpot", "", "HLT"));
51 
52  //Tag Trigger Summary
53  triggerSummaryRAWTag_ = pset.getUntrackedParameter<edm::InputTag>("TriggerSummaryTag",edm::InputTag("hltTriggerSummaryRAW", "", "HLT"));
54  hltProcessName_ = pset.getUntrackedParameter<std::string>("TriggerProcessName","HLT");
55  //Tag for Pixel tracks after Onia filter
56  std::vector<edm::InputTag> pxlTagsAfterFilter;
57  pxlTagsAfterFilter.push_back(edm::InputTag("hltMu0TrackJpsiPixelMassFiltered", "", "HLT"));
58  pxlTagsAfterFilter.push_back(edm::InputTag("hltMu3TrackJpsiPixelMassFiltered", "", "HLT"));
59  pxlTagsAfterFilter.push_back(edm::InputTag("hltMu5TrackJpsiPixelMassFiltered", "", "HLT"));
60  pixelTagsAfterFilter_= pset.getUntrackedParameter< std::vector<edm::InputTag> >("PixelTagAfterFilter",pxlTagsAfterFilter);
61 
62  //Tag for Tracker tracks after Onia filter
63  std::vector<edm::InputTag> trxTagsAfterFilter;
64  trxTagsAfterFilter.push_back(edm::InputTag("hltMu0TrackJpsiTrackMassFiltered", "", "HLT"));
65  trxTagsAfterFilter.push_back(edm::InputTag("hltMu3TrackJpsiTrackMassFiltered", "", "HLT"));
66  trxTagsAfterFilter.push_back(edm::InputTag("hltMu5TrackJpsiTrackMassFiltered", "", "HLT"));
67  trackTagsAfterFilter_ = pset.getUntrackedParameter< std::vector<edm::InputTag> >("TrackTagAfterFilter",trxTagsAfterFilter);
68 
69  //Foldering output
70  subsystemFolder_ = pset.getUntrackedParameter<std::string>("SubSystemFolder","HLT/HLTMonMuon/Onia");
71 }
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag triggerSummaryRAWTag_
Definition: HLTOniaSource.h:62
edm::InputTag trackTag_
Definition: HLTOniaSource.h:65
std::vector< edm::InputTag > pixelTagsAfterFilter_
Definition: HLTOniaSource.h:60
std::vector< edm::InputTag > oniaMuonTag_
Definition: HLTOniaSource.h:59
std::vector< edm::InputTag > trackTagsAfterFilter_
Definition: HLTOniaSource.h:61
edm::InputTag beamSpotTag_
Definition: HLTOniaSource.h:64
std::vector< std::string > triggerPath_
Definition: HLTOniaSource.h:58
edm::InputTag pixelTag_
Definition: HLTOniaSource.h:63
std::string hltProcessName_
Definition: HLTOniaSource.h:56
std::string subsystemFolder_
Definition: HLTOniaSource.h:55
HLTOniaSource::~HLTOniaSource ( )

Definition at line 74 of file HLTOniaSource.cc.

References dbe_.

74 {dbe_ = 0;}
DQMStore * dbe_
Definition: HLTOniaSource.h:66

Member Function Documentation

void HLTOniaSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 141 of file HLTOniaSource.cc.

References beamSpotTag_, BSPosition_, fillInvariantMass(), fillOniaTriggerMEs(), edm::Event::getByLabel(), hltConfigInit_, i, edm::HandleBase::isValid(), diffTwoXMLs::label, edm::InputTag::label(), muonME_, oniaMuonTag_, pixelAfterFilterME_, pixelME_, pixelTag_, pixelTagsAfterFilter_, findQualityFiles::size, python.multivaluedict::sort(), trackAfterFilterME_, trackME_, trackTag_, trackTagsAfterFilter_, trigger::TriggerMuon, triggerSummaryRAWTag_, and trigger::TriggerTrack.

141  {
142 
143  if(!hltConfigInit_) return;
144 
145  //Get Pixel Tracks
147  iEvent.getByLabel(pixelTag_, pixelCands);
148 
149  reco::TrackCollection mypixelCands; //This is needed for the sort!!!!
150  if (pixelCands.isValid()) {
151  mypixelCands = * pixelCands;
152  sort(mypixelCands.begin(), mypixelCands.end(),PtGreater());
153  this->fillOniaTriggerMEs(pixelCands , pixelTag_.label(), pixelME_ );
154  }else {
155  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Could not access pixel collection with tag "<<pixelTag_;
156  }
157 
158  //Get Tracker Tracks
160  iEvent.getByLabel(trackTag_, trackCands);
161  reco::RecoChargedCandidateCollection mytrackCands; //This is needed for the sort!!!!
162  if(trackCands.isValid()) {
163  mytrackCands = * trackCands;
164  sort(mytrackCands.begin(),mytrackCands.end(),PtGreater());
165  this->fillOniaTriggerMEs(trackCands , trackTag_.label(), trackME_ );
166  }else {
167  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Could not access track collection with tag "<<trackTag_;
168  }
169 
170  //Get Beamspot
171  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
172  iEvent.getByLabel(beamSpotTag_, recoBeamSpotHandle);
173  if (recoBeamSpotHandle.isValid()) {
174  BSPosition_ = recoBeamSpotHandle->position();
175  }else {
176  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Could not access beam spot info with tag "<<beamSpotTag_;
177  }
178 
179 
180  //Get Trigger Summary RA
182  iEvent.getByLabel(triggerSummaryRAWTag_, rawTriggerEvent );
183 
184  if( rawTriggerEvent.isValid() ){
185 
186  for(size_t i=0; i<oniaMuonTag_.size(); i++){
187 
188  std::vector<reco::RecoChargedCandidateRef> myMuonFilterCands;
189  std::vector<reco::RecoChargedCandidateRef> myPixelFilterCands;
190  std::vector<reco::RecoChargedCandidateRef> myTrackFilterCands;
191 
192  //Get Onia Muons
193  size_t indexM = rawTriggerEvent->filterIndex(oniaMuonTag_[i]);
194 
195  if ( indexM < rawTriggerEvent->size() ){
196  rawTriggerEvent->getObjects( indexM, trigger::TriggerMuon, myMuonFilterCands );
197  this->fillOniaTriggerMEs( myMuonFilterCands, oniaMuonTag_[i].label(), muonME_ );
198  }else{
199  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Did not find muons with tag "<<oniaMuonTag_[i];
200  }
201  //Get Onia Pixel
202  size_t indexP = rawTriggerEvent->filterIndex(pixelTagsAfterFilter_[i]);
203  if ( indexP < rawTriggerEvent->size() ){
204  rawTriggerEvent->getObjects( indexP, trigger::TriggerTrack , myPixelFilterCands );
205  this->fillOniaTriggerMEs( myPixelFilterCands,pixelTagsAfterFilter_[i].label(), pixelAfterFilterME_);
206  sort(myPixelFilterCands.begin(), myPixelFilterCands.end(),PtGreaterRef());
207  }else{
208  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Did not find pixel with tag "<<pixelTagsAfterFilter_[i];
209  }
210 
211  //Get Onia Tracker Tracks
212  size_t indexT = rawTriggerEvent->filterIndex(trackTagsAfterFilter_[i]);
213  if ( indexT < rawTriggerEvent->size() ){
214  rawTriggerEvent->getObjects( indexT, trigger::TriggerTrack , myTrackFilterCands );
215  this->fillOniaTriggerMEs( myTrackFilterCands,trackTagsAfterFilter_[i].label(), trackAfterFilterME_ );
216  sort(myTrackFilterCands.begin(), myTrackFilterCands.end(),PtGreaterRef());
217  }else{
218  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Did not find tracks with tag "<<trackTagsAfterFilter_[i];
219  }
220 
221  if( myMuonFilterCands.size() > 0){
222  if ( myPixelFilterCands.size() > 0 )this->fillInvariantMass( myMuonFilterCands, myPixelFilterCands ,oniaMuonTag_[i].label(),pixelTagsAfterFilter_[i].label());
223  if ( myTrackFilterCands.size() > 0 )this->fillInvariantMass( myMuonFilterCands, myTrackFilterCands ,oniaMuonTag_[i].label(),trackTagsAfterFilter_[i].label());
224  if (pixelCands.isValid()) this->fillInvariantMass( myMuonFilterCands, mypixelCands , oniaMuonTag_[i].label(), pixelTag_.label());
225  if (trackCands.isValid()) this->fillInvariantMass( myMuonFilterCands, mytrackCands , oniaMuonTag_[i].label(), trackTag_.label());
226  }
227 
228 
229  }//ADD INVARIANT MASSES
230  }else{
231  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Could not access trigger collection with tag "<<triggerSummaryRAWTag_;
232  }
233 
234 }
int i
Definition: DBlmapReader.cc:9
edm::InputTag triggerSummaryRAWTag_
Definition: HLTOniaSource.h:62
edm::InputTag trackTag_
Definition: HLTOniaSource.h:65
std::map< std::string, MonitorElement * > pixelAfterFilterME_
Definition: HLTOniaSource.h:67
std::map< std::string, MonitorElement * > pixelME_
Definition: HLTOniaSource.h:69
std::vector< edm::InputTag > pixelTagsAfterFilter_
Definition: HLTOniaSource.h:60
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
std::vector< edm::InputTag > oniaMuonTag_
Definition: HLTOniaSource.h:59
std::map< std::string, MonitorElement * > trackME_
Definition: HLTOniaSource.h:71
void fillInvariantMass(std::vector< reco::RecoChargedCandidateRef > &, reco::RecoChargedCandidateCollection &, std::string, std::string)
std::vector< edm::InputTag > trackTagsAfterFilter_
Definition: HLTOniaSource.h:61
std::map< std::string, MonitorElement * > trackAfterFilterME_
Definition: HLTOniaSource.h:68
edm::InputTag beamSpotTag_
Definition: HLTOniaSource.h:64
edm::InputTag pixelTag_
Definition: HLTOniaSource.h:63
reco::BeamSpot::Point BSPosition_
Definition: HLTOniaSource.h:41
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
std::vector< RecoChargedCandidate > RecoChargedCandidateCollection
collectin of RecoChargedCandidate objects
std::string const & label() const
Definition: InputTag.h:42
std::map< std::string, MonitorElement * > muonME_
Definition: HLTOniaSource.h:70
void fillOniaTriggerMEs(edm::Handle< reco::RecoChargedCandidateCollection > &, std::string, std::map< std::string, MonitorElement * > &)
tuple size
Write out results.
void HLTOniaSource::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 76 of file HLTOniaSource.cc.

References dbe_, and cppFunctionSkipper::operator.

76  {
77 
79  if( !dbe_ ) {
80  edm::LogVerbatim ("oniatriggermonitor") << "[HLTOniaSource]: Could not access DQM Store.";
81  return;
82  }
83 }
DQMStore * dbe_
Definition: HLTOniaSource.h:66
void HLTOniaSource::beginRun ( const edm::Run run,
const edm::EventSetup setup 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 85 of file HLTOniaSource.cc.

References bookOniaTriggerInvariantMassMEs(), bookOniaTriggerMEs(), checkHLTConfiguration(), dbe_, hltConfigInit_, hltProcessName_, i, edm::InputTag::label(), diffTwoXMLs::label, massME_, muonME_, oniaMuonTag_, pixelAfterFilterME_, pixelME_, pixelTag_, pixelTagsAfterFilter_, DQMStore::setCurrentFolder(), subsystemFolder_, trackAfterFilterME_, trackME_, trackTag_, and trackTagsAfterFilter_.

85  {
86 
87  if (!dbe_) return;
88 
89  // Book Pixel Histos
90  if (pixelTag_.label()!= ""){
93  }
94 
95  // Book Track Histos
96  if (trackTag_.label()!= ""){
99  }
100 
101 
102  //Book Onia Histos
103  for (size_t i = 0 ; i<oniaMuonTag_.size() && i<pixelTagsAfterFilter_.size() && i<trackTagsAfterFilter_.size(); i++){
104 
105  if (oniaMuonTag_[i].label()!= "") {
106  dbe_->setCurrentFolder(subsystemFolder_+"/MuonFilters");
108  }
109  if (pixelTagsAfterFilter_[i].label() != ""){
110  dbe_->setCurrentFolder(subsystemFolder_+"/PixelFilters");
112  }
113  if (trackTagsAfterFilter_[i].label() != ""){
114  dbe_->setCurrentFolder(subsystemFolder_+"/TrackFilters");
116  }
117  if (oniaMuonTag_[i].label()!= "" && pixelTag_.label() != ""){
120  }
121  if (oniaMuonTag_[i].label() != "" && trackTag_.label()!= "" ){
124  }
125  if (oniaMuonTag_[i].label()!= "" && pixelTagsAfterFilter_[i].label()!= ""){
126  dbe_->setCurrentFolder(subsystemFolder_+"/PixelFilters");
128  }
129  if (oniaMuonTag_[i].label()!= "" && trackTagsAfterFilter_[i].label()!= ""){
130  dbe_->setCurrentFolder(subsystemFolder_+"/TrackFilters");
132  }
133  }
134 
136 
137 }
int i
Definition: DBlmapReader.cc:9
edm::InputTag trackTag_
Definition: HLTOniaSource.h:65
std::map< std::string, MonitorElement * > pixelAfterFilterME_
Definition: HLTOniaSource.h:67
std::map< std::string, MonitorElement * > pixelME_
Definition: HLTOniaSource.h:69
std::vector< edm::InputTag > pixelTagsAfterFilter_
Definition: HLTOniaSource.h:60
void bookOniaTriggerMEs(std::map< std::string, MonitorElement * > &, std::string)
std::vector< edm::InputTag > oniaMuonTag_
Definition: HLTOniaSource.h:59
std::map< std::string, MonitorElement * > trackME_
Definition: HLTOniaSource.h:71
std::map< std::string, MonitorElement * > massME_
Definition: HLTOniaSource.h:72
std::vector< edm::InputTag > trackTagsAfterFilter_
Definition: HLTOniaSource.h:61
std::map< std::string, MonitorElement * > trackAfterFilterME_
Definition: HLTOniaSource.h:68
edm::InputTag pixelTag_
Definition: HLTOniaSource.h:63
void bookOniaTriggerInvariantMassMEs(std::map< std::string, MonitorElement * > &, std::string, std::string)
std::string hltProcessName_
Definition: HLTOniaSource.h:56
std::string const & label() const
Definition: InputTag.h:42
std::string subsystemFolder_
Definition: HLTOniaSource.h:55
std::map< std::string, MonitorElement * > muonME_
Definition: HLTOniaSource.h:70
DQMStore * dbe_
Definition: HLTOniaSource.h:66
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
bool checkHLTConfiguration(const edm::Run &, const edm::EventSetup &, std::string)
void HLTOniaSource::bookOniaTriggerInvariantMassMEs ( std::map< std::string, MonitorElement * > &  myMap,
std::string  label1,
std::string  label2 
)
private

Definition at line 326 of file HLTOniaSource.cc.

References DQMStore::book1D(), dbe_, and massME_.

Referenced by beginRun().

326  {
327 
328  std::stringstream meName;
329  //Same charge
330  meName.str("");
331  meName<<label1<<"_"<<label2<<"_SameCharge_InvariantMass";
332  massME_[label1+label2+"same"]=dbe_->book1D(meName.str(), meName.str(),120, 0.0, 6.0);
333  massME_[label1+label2+"same"]->setAxisTitle("mass (GeV)", 1);
334 
335  //Opposite charge
336  meName.str("");
337  meName<<label1<<"_"<<label2<<"_OppositeCharge_InvariantMass";
338  massME_[label1+label2+"opposite"]=dbe_->book1D(meName.str(), meName.str(),120, 0.0, 6.0);
339  massME_[label1+label2+"opposite"]->setAxisTitle("mass (GeV)", 1);
340 
341  //Same charge Highest PT
342  meName.str("");
343  meName<<label1<<"_"<<label2<<"_SameCharge_HighestPT_InvariantMass";
344  massME_[label1+label2+"same"+"highestpt"]=dbe_->book1D(meName.str(), meName.str(),120, 0.0, 6.0);
345  massME_[label1+label2+"same"+"highestpt"]->setAxisTitle("mass (GeV)", 1);
346 
347  //Opposite charge Highest PT
348  meName.str("");
349  meName<<label1<<"_"<<label2<<"_OppositeCharge_HighestPT_InvariantMass";
350  massME_[label1+label2+"opposite"+"highestpt"]=dbe_->book1D(meName.str(), meName.str(),120, 0.0, 6.0);
351  massME_[label1+label2+"opposite"+"highestpt"]->setAxisTitle("mass (GeV)", 1);
352 
353 
354 
355  // Same Charge Deltaz Muon - Track Highest PT
356  meName.str("");
357  meName<<label1<<"_"<<label2<<"_SameCharge_HighestPT_MaxDzMuonTrack";
358  massME_[label1+label2+"same"+"highestpt"+"maxdzmuontrack"]=dbe_->book1D(meName.str(), meName.str(),50, 0.0, 5.0);
359  massME_[label1+label2+"same"+"highestpt"+"maxdzmuontrack"]->setAxisTitle("MaxDz Muon-Track", 1);
360  // Same Charge Deltaz Muon - Track
361  meName.str("");
362  meName<<label1<<"_"<<label2<<"_SameCharge_MaxDzMuonTrack";
363  massME_[label1+label2+"same"+"maxdzmuontrack"]=dbe_->book1D(meName.str(), meName.str(),50, 0.0, 5.0);
364  massME_[label1+label2+"same"+"maxdzmuontrack"]->setAxisTitle("MaxDz Muon-Track", 1);
365  // Opposite charge Deltaz Muon - Track Highest PT
366  meName.str("");
367  meName<<label1<<"_"<<label2<<"_OppositeCharge_HighestPT_MaxDzMuonTrack";
368  massME_[label1+label2+"opposite"+"highestpt"+"maxdzmuontrack"]=dbe_->book1D(meName.str(), meName.str(),50, 0.0, 5.0);
369  massME_[label1+label2+"opposite"+"highestpt"+"maxdzmuontrack"]->setAxisTitle("MaxDz Muon-Track", 1);
370  // Opposite charge Deltaz Muon - Track
371  meName.str("");
372  meName<<label1<<"_"<<label2<<"_OppositeCharge_MaxDzMuonTrack";
373  massME_[label1+label2+"opposite"+"maxdzmuontrack"]=dbe_->book1D(meName.str(), meName.str(),50, 0.0, 5.0);
374  massME_[label1+label2+"opposite"+"maxdzmuontrack"]->setAxisTitle("MaxDz Muon-Track", 1);
375 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
std::map< std::string, MonitorElement * > massME_
Definition: HLTOniaSource.h:72
DQMStore * dbe_
Definition: HLTOniaSource.h:66
void HLTOniaSource::bookOniaTriggerMEs ( std::map< std::string, MonitorElement * > &  myMap,
std::string  meName 
)
private

Definition at line 239 of file HLTOniaSource.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe_, and MonitorElement::setAxisTitle().

Referenced by beginRun().

239  {
240 
241  std::stringstream myMeName;
242 
243  //PT
244  myMeName.str("");
245  myMeName<<meName<<"_Pt";
246  myMap[meName+"pt"]=dbe_->book1D(myMeName.str(), myMeName.str(),200, 0.0, 20.0);
247  myMap[meName+"pt"]->setAxisTitle("Pt (GeV)", 1);
248 
249  //P
250  myMeName.str("");
251  myMeName<<meName<<"_P";
252  myMap[meName+"p"]=dbe_->book1D(myMeName.str(), myMeName.str(),250, 0.0, 50.0);
253  myMap[meName+"p"]->setAxisTitle("P (GeV)", 1);
254 
255  //Eta
256  myMeName.str("");
257  myMeName<<meName<<"_Eta";
258  myMap[meName+"eta"]=dbe_->book1D(myMeName.str(), myMeName.str(), 50, -2.5, 2.5 );
259  myMap[meName+"eta"]->setAxisTitle("Eta", 1);
260 
261  //Phi
262  myMeName.str("");
263  myMeName<<meName<<"_Phi";
264  myMap[meName+"phi"]=dbe_->book1D(myMeName.str(), myMeName.str(), 144, -3.1416, 3.1416 );
265  myMap[meName+"phi"]->setAxisTitle("Phi", 1);
266 
267  //Phi
268  myMeName.str("");
269  myMeName<<meName<<"_Phi";
270  myMap[meName+"phi"]=dbe_->book1D(myMeName.str(), myMeName.str(), 144, -3.1416, 3.1416 );
271  myMap[meName+"phi"]->setAxisTitle("Phi", 1);
272 
273  //Charge
274  myMeName.str("");
275  myMeName<<meName<<"_Charge";
276  myMap[meName+"charge"]=dbe_->book1D(myMeName.str(), myMeName.str(), 3, -1.5, 1.5 );
277  myMap[meName+"charge"]->setAxisTitle("charge", 1);
278 
279  //Dz
280  myMeName.str("");
281  myMeName<<meName<<"_Dz";
282  myMap[meName+"dz"]=dbe_->book1D(myMeName.str(), myMeName.str(), 400, -20.0, 20.0 );
283  myMap[meName+"dz"]->setAxisTitle("dz", 1);
284 
285  //Dxy
286  myMeName.str("");
287  myMeName<<meName<<"_Dxy";
288  myMap[meName+"dxy"]=dbe_->book1D(myMeName.str(), myMeName.str(), 100, -0.5, 0.5 );
289  myMap[meName+"dxy"]->setAxisTitle("dxy", 1);
290 
291  //EtaVsPhi
292  myMeName.str("");
293  myMeName<<meName<<"_EtaPhi";
294  myMap[meName+"etaphi"]=dbe_->book2D(myMeName.str(), myMeName.str(), 144, -3.1416, 3.1416 ,50, -2.5, 2.5 );
295  myMap[meName+"etaphi"]->setAxisTitle("Phi", 1);
296  myMap[meName+"etaphi"]->setAxisTitle("Eta", 2);
297 
298  //EtaVsPt
299  myMeName.str("");
300  myMeName<<meName<<"_EtaPt";
301  myMap[meName+"etapt"]=dbe_->book2D(myMeName.str(), myMeName.str(), 100, 0.0, 100.0, 50, -2.5, 2.5 );
302  myMap[meName+"etapt"]->setAxisTitle("Pt (GeV)", 1);
303  myMap[meName+"etapt"]->setAxisTitle("Eta", 2);
304 
305  //ValidHits
306  myMeName.str("");
307  myMeName<<meName<<"_ValidHits";
308  myMap[meName+"validhits"]=dbe_->book1D(myMeName.str(), myMeName.str(), 50, 0.0, 50.0 );
309  myMap[meName+"validhits"]->setAxisTitle("ValidHits", 1);
310 
311  //Norm Chi2
312  myMeName.str("");
313  myMeName<<meName<<"_NormChi2";
314  myMap[meName+"normchi"]=dbe_->book1D(myMeName.str(), myMeName.str(), 300, 0.0, 30.0 );
315  myMap[meName+"normchi"]->setAxisTitle("Normalized Chi2", 1);
316 
317  //Number Of Candi
318  myMeName.str("");
319  myMeName<<meName<<"_NrCandidates";
320  myMap[meName+"nrcand"]=dbe_->book1D(myMeName.str(), myMeName.str(), 50, 0.0, 50.0 );
321  myMap[meName+"nrcand"]->setAxisTitle("Nr per Event", 1);
322  //return true;
323 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
DQMStore * dbe_
Definition: HLTOniaSource.h:66
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
bool HLTOniaSource::checkHLTConfiguration ( const edm::Run run,
const edm::EventSetup setup,
std::string  triggerProcessName 
)
private

Definition at line 597 of file HLTOniaSource.cc.

References spr::find(), HltComparatorCreateWorkflow::hltConfig, i, HLTConfigProvider::init(), j, HLTConfigProvider::moduleLabels(), mergeVDriftHistosByStation::name, HLTConfigProvider::triggerNames(), and triggerPath_.

Referenced by beginRun().

597  {
598 
600  bool changed(false);
601  if(hltConfig.init(run , setup, triggerProcessName, changed)){
602  edm::LogVerbatim("hltoniasource") << "Successfully initialized HLTConfigProvider with process name: "<<triggerProcessName;
603 
604  std::stringstream os;
605  std::vector<std::string> triggerNames = hltConfig.triggerNames();
606 
607  for( size_t i = 0; i < triggerNames.size(); i++) {
608  if (find(triggerPath_.begin(), triggerPath_.end(), triggerNames[i]) == triggerPath_.end()) continue;
609  edm::LogVerbatim("hltoniasource") << "[HLTOniaSource]: Trigger Path: "<<triggerNames[i];
610  std::vector<std::string> moduleNames = hltConfig.moduleLabels( triggerNames[i] );
611  for( size_t j = 0; j < moduleNames.size(); j++) {
612  TString name = moduleNames[j];
613  edm::LogVerbatim("hltoniasource") << "\t Fliter Name: "<<moduleNames[j];
614  }
615  }
616 
617  return true;
618 
619  }else{
620  edm::LogVerbatim("hltoniasource") << "Could not initialize HLTConfigProvider with process name: "<<triggerProcessName;
621  return false;
622  }
623  return true;
624 }
int i
Definition: DBlmapReader.cc:9
const std::vector< std::string > & triggerNames() const
names of trigger paths
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::vector< std::string > triggerPath_
Definition: HLTOniaSource.h:58
int j
Definition: DBlmapReader.cc:9
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
void HLTOniaSource::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 237 of file HLTOniaSource.cc.

237 {}
void HLTOniaSource::fillInvariantMass ( std::vector< reco::RecoChargedCandidateRef > &  cand1,
reco::RecoChargedCandidateCollection cand2,
std::string  cand1Label,
std::string  cand2Label 
)
private

Definition at line 511 of file HLTOniaSource.cc.

References DeDxDiscriminatorTools::charge(), i, massME_, p4, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by analyze().

511  {
512 
513  typedef reco::RecoChargedCandidateCollection::const_iterator cand;
514  //Loop on collection to calculate invariate mass
515  for(size_t i = 0 ; i< cand1.size(); i++) {
516  //Highest PT
517  if(cand2.begin() != cand2.end() && cand2.begin()->p()>3) {
518  cand candItr = cand2.begin();
519  std::string chargeLabel = "same";
520  //Check relative charge
521  if(cand1[i]->charge() * candItr->charge() < 0) chargeLabel = "opposite";
522  if(massME_[cand1Label+cand2Label+chargeLabel+"highestpt"]){
523  massME_[cand1Label+cand2Label+chargeLabel+"highestpt"]->Fill((cand1[i]->p4()+candItr->p4()).mass());
524  }
525 
526  if(massME_[cand1Label+cand2Label+chargeLabel+"highestpt"+"maxdzmuontrack"]){
527  reco::RecoChargedCandidate tk1 = (*cand1[i]);
528  reco::RecoChargedCandidate tk2 = (*candItr);
529  // massME_[cand1Label+cand2Label+chargeLabel+"highestpt"+"maxdzmuontrack"]->Fill(fabs(tk1->dz(BSPosition_) - tk2->dz(BSPosition_)));
530  }
531  }
532 
533  for (cand candItr2= cand2.begin(); candItr2!=cand2.end(); candItr2++) {
534  if(candItr2->p() < 3) continue; //Check if momentum is greater than 3GeV.
535  std::string chargeLabel = "same";
536  //Check relative charge
537  if(cand1[i]->charge() * candItr2->charge() < 0) chargeLabel = "opposite";
538  if(massME_[cand1Label+cand2Label+chargeLabel]){
539  massME_[cand1Label+cand2Label+chargeLabel]->Fill((cand1[i]->p4()+candItr2->p4()).mass());
540  }
541  if(massME_[cand1Label+cand2Label+chargeLabel+"maxdzmuontrack"]){
542  reco::RecoChargedCandidate tk1 = (*cand1[i]);
543  reco::RecoChargedCandidate tk2 = (*candItr2);
544  // massME_[cand1Label+cand2Label+chargeLabel+"maxdzmuontrack"]->Fill(fabs(tk1->dz(BSPosition_) - tk2->dz(BSPosition_)));
545  }
546  }
547  }
548 }
int i
Definition: DBlmapReader.cc:9
std::map< std::string, MonitorElement * > massME_
Definition: HLTOniaSource.h:72
double charge(const std::vector< uint8_t > &Ampls)
double p4[4]
Definition: TauolaWrapper.h:92
void HLTOniaSource::fillInvariantMass ( std::vector< reco::RecoChargedCandidateRef > &  cand1,
std::vector< reco::RecoChargedCandidateRef > &  cand2,
std::string  cand1Label,
std::string  cand2Label 
)
private

Definition at line 470 of file HLTOniaSource.cc.

References DeDxDiscriminatorTools::charge(), i, j, massME_, AlCaHLTBitMon_ParallelJobs::p, p4, and AlCaHLTBitMon_QueryRunRegistry::string.

470  {
471 
472  //Loop on collection to calculate invariate mass
473  for(size_t i = 0 ; i< cand1.size(); i++) {
474 
475  //Highest PT
476  std::string chargeLabel = "same";
477 
478  //Check relative charge
479  if(cand1[i]->charge() * cand2[0]->charge() < 0) chargeLabel = "opposite";
480  if(massME_[cand1Label+cand2Label+chargeLabel+"highestpt"]){
481  massME_[cand1Label+cand2Label+chargeLabel+"highestpt"]->Fill((cand1[i]->p4()+cand2[0]->p4()).mass());
482  }
483  if(massME_[cand1Label+cand2Label+chargeLabel+"highestpt"+"maxdzmuontrack"]){
484  reco::RecoChargedCandidate tk1 = (*cand1[i]);
485  reco::RecoChargedCandidate tk2 = (*cand2[0]);
486  // TrackRef tk1 = cand1[i]->get<TrackRef>();
487  // massME_[cand1Label+cand2Label+chargeLabel+"highestpt"+"maxdzmuontrack"]->Fill(fabs(tk1->dz(BSPosition_) - tk2->dz(BSPosition_)));
488  }
489 
490 
491  for (size_t j= 0; j< cand2.size(); j++) {
492 
493  if(cand2[j]->p() < 3) continue; //Check if momentum is greater than 3GeV.
494  std::string chargeLabel = "same";
495  //Check relative charge
496  if(cand1[i]->charge() * cand2[j]->charge() < 0) chargeLabel = "opposite";
497  if(massME_[cand1Label+cand2Label+chargeLabel]){
498  massME_[cand1Label+cand2Label+chargeLabel]->Fill((cand1[i]->p4()+cand2[j]->p4()).mass());
499  }
500  if(massME_[cand1Label+cand2Label+chargeLabel+"maxdzmuontrack"]){
501  reco::RecoChargedCandidate tk1 = (*cand1[i]);
502  reco::RecoChargedCandidate tk2 = (*cand2[j]);
503  // massME_[cand1Label+cand2Label+chargeLabel+"maxdzmuontrack"]->Fill(fabs(tk1->dz(BSPosition_) - tk2->dz(BSPosition_)));
504  }
505  }
506  }
507 }
int i
Definition: DBlmapReader.cc:9
std::map< std::string, MonitorElement * > massME_
Definition: HLTOniaSource.h:72
double charge(const std::vector< uint8_t > &Ampls)
double p4[4]
Definition: TauolaWrapper.h:92
int j
Definition: DBlmapReader.cc:9
void HLTOniaSource::fillInvariantMass ( std::vector< reco::RecoChargedCandidateRef > &  cand1,
reco::TrackCollection cand2,
std::string  cand1Label,
std::string  cand2Label 
)
private

Definition at line 552 of file HLTOniaSource.cc.

References DeDxDiscriminatorTools::charge(), i, massME_, p4, and AlCaHLTBitMon_QueryRunRegistry::string.

552  {
553 
554  typedef reco::TrackCollection::const_iterator cand;
555 
556  //Loop on collection to calculate invariate mass
557  for(size_t i = 0 ; i< cand1.size(); i++) {
558  //Highest PT
559  if(cand2.begin() != cand2.end() && cand2.begin()->p()>3) {
560  cand candItr = cand2.begin();
561  math::PtEtaPhiMLorentzVector bestPtCandLVector(candItr->pt(), candItr->eta(), candItr->phi(), 1.056);
562 
563  std::string chargeLabel = "same";
564 
565  //Check relative charge
566  if(cand1[i]->charge() * candItr->charge() < 0) chargeLabel = "opposite";
567  if(massME_[cand1Label+cand2Label+chargeLabel+"highestpt"]){
568  massME_[cand1Label+cand2Label+chargeLabel+"highestpt"]->Fill((cand1[i]->p4()+bestPtCandLVector).mass());
569  }
570 
571  if(massME_[cand1Label+cand2Label+chargeLabel+"highestpt"+"maxdzmuontrack"]){
572  reco::RecoChargedCandidate tk1 = (*cand1[i]);
573  // massME_[cand1Label+cand2Label+chargeLabel+"highestpt"+"maxdzmuontrack"]->Fill(fabs(tk->dz(BSPosition_) - candItr->dz(BSPosition_)));
574  }
575  }
576 
577  for (cand candIter= cand2.begin(); candIter!=cand2.end(); candIter++) {
578 
579  if(candIter->p() < 3) continue; //Check if momentum is greater than 3GeV.
580 
581  math::PtEtaPhiMLorentzVector candLVector(candIter->pt(), candIter->eta(), candIter->phi(), 1.056);
582 
583  std::string chargeLabel = "same";
584  //Check relative charge
585  if(cand1[i]->charge() * candIter->charge() < 0) chargeLabel = "opposite";
586  if(massME_[cand1Label+cand2Label+chargeLabel]){
587  massME_[cand1Label+cand2Label+chargeLabel]->Fill((cand1[i]->p4()+candLVector).mass());
588  }
589  if(massME_[cand1Label+cand2Label+chargeLabel+"maxdzmuontrack"]){
590  reco::RecoChargedCandidate tk1 = (*cand1[i]);
591  // massME_[cand1Label+cand2Label+chargeLabel+"maxdzmuontrack"]->Fill(fabs(tk->dz(BSPosition_) - candIter->dz(BSPosition_)));
592  }
593  }
594  }
595 }
int i
Definition: DBlmapReader.cc:9
std::map< std::string, MonitorElement * > massME_
Definition: HLTOniaSource.h:72
double charge(const std::vector< uint8_t > &Ampls)
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:26
double p4[4]
Definition: TauolaWrapper.h:92
void HLTOniaSource::fillOniaTriggerMEs ( edm::Handle< reco::RecoChargedCandidateCollection > &  collection,
std::string  collectionLabel,
std::map< std::string, MonitorElement * > &  mapME 
)
private

Definition at line 437 of file HLTOniaSource.cc.

References reco::LeafCandidate::charge(), runEdmFileComparison::collection, reco::LeafCandidate::eta(), i, edm::HandleBase::isValid(), reco::LeafCandidate::p(), reco::LeafCandidate::phi(), and reco::LeafCandidate::pt().

Referenced by analyze().

437  {
438 
440  if (collection.isValid()) {
441  myCollection = * collection;
442 
443  // int nCollection= myCollection.size();
444  int num = 0;
445  typedef reco::RecoChargedCandidateCollection::const_iterator cand;
446  for (cand i=myCollection.begin(); i!=myCollection.end(); i++) {
447  reco::RecoChargedCandidate tk = (*i);
448 
449  num++;
450  //Fill MEs
451  if(mapME[collectionLabel+"pt"]){ mapME[collectionLabel+"pt"]->Fill(tk.pt()); }
452  if(mapME[collectionLabel+"p"]) { mapME[collectionLabel+"p"]->Fill(tk.p()); }
453  if(mapME[collectionLabel+"eta"]) { mapME[collectionLabel+"eta"]->Fill(tk.eta()); }
454  if(mapME[collectionLabel+"phi"]) { mapME[collectionLabel+"phi"]->Fill(tk.phi()); }
455  if(mapME[collectionLabel+"etaphi"]){ mapME[collectionLabel+"etaphi"]->Fill(tk.phi(),tk.eta()); }
456  if(mapME[collectionLabel+"etapt"]){ mapME[collectionLabel+"etapt"]->Fill(tk.pt(),tk.eta()); }
457  if(mapME[collectionLabel+"charge"]){ mapME[collectionLabel+"charge"]->Fill(tk.charge()); }
458 
459  // if(mapME[collectionLabel+"dxy"]){ mapME[collectionLabel+"dxy"]->Fill(tk.dxy(BSPosition_)); }
460 // if(mapME[collectionLabel+"dz"]){ mapME[collectionLabel+"dz"]->Fill(tk.dz(BSPosition_)); }
461 
462 // if(mapME[collectionLabel+"validhits"]) { mapME[collectionLabel+"validhits"]->Fill(tk.numberOfValidHits()); }
463 // if(mapME[collectionLabel+"normchi"]){ mapME[collectionLabel+"normchi"]->Fill(tk.normalizedChi2()); }
464  }
465  if(mapME[collectionLabel+"nrcand"]){ mapME[collectionLabel+"nrcand"]->Fill(num);}
466  }
467 }
int i
Definition: DBlmapReader.cc:9
virtual double p() const GCC11_FINAL
magnitude of momentum vector
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
std::vector< RecoChargedCandidate > RecoChargedCandidateCollection
collectin of RecoChargedCandidate objects
virtual int charge() const GCC11_FINAL
electric charge
long long int num
Definition: procUtils.cc:71
virtual float pt() const GCC11_FINAL
transverse momentum
void HLTOniaSource::fillOniaTriggerMEs ( edm::Handle< reco::TrackCollection > &  collection,
std::string  collectionLabel,
std::map< std::string, MonitorElement * > &  mapME 
)
private

Definition at line 378 of file HLTOniaSource.cc.

References runEdmFileComparison::collection, and edm::HandleBase::isValid().

378  {
379  // cout << "[HLTOniaSource]: fillOniaTriggerMEs " << collectionLabel << endl;
380 
381  reco::TrackCollection myCollection;
382  if (collection.isValid()) {
383  myCollection = * collection;
384 
385  // int nCollection= myCollection.size();
386 
387  typedef reco::TrackCollection::const_iterator cand;
388  int num = 0;
389  for (cand tk=myCollection.begin(); tk!=myCollection.end(); tk++) {
390  num++;
391  //Fill MEs
392  if(mapME[collectionLabel+"pt"]){ mapME[collectionLabel+"pt"]->Fill(tk->pt()); }
393  if(mapME[collectionLabel+"p"]) { mapME[collectionLabel+"p"]->Fill(tk->p()); }
394  if(mapME[collectionLabel+"eta"]) { mapME[collectionLabel+"eta"]->Fill(tk->eta()); }
395  if(mapME[collectionLabel+"phi"]) { mapME[collectionLabel+"phi"]->Fill(tk->phi()); }
396  if(mapME[collectionLabel+"etaphi"]){ mapME[collectionLabel+"etaphi"]->Fill(tk->phi(),tk->eta()); }
397  if(mapME[collectionLabel+"etapt"]){ mapME[collectionLabel+"etapt"]->Fill(tk->pt(),tk->eta()); }
398  if(mapME[collectionLabel+"charge"]){ mapME[collectionLabel+"charge"]->Fill(tk->charge()); }
399 
400  // if(mapME[collectionLabel+"dxy"]){ mapME[collectionLabel+"dxy"]->Fill(tk->dxy(BSPosition_)); }
401 // if(mapME[collectionLabel+"dz"]){ mapME[collectionLabel+"dz"]->Fill(tk->dz(BSPosition_)); }
402 
403 // if(mapME[collectionLabel+"validhits"]) { mapME[collectionLabel+"validhits"]->Fill(tk->numberOfValidHits()); }
404 // if(mapME[collectionLabel+"normchi"]){ mapME[collectionLabel+"normchi"]->Fill(tk->normalizedChi2()); }
405  }
406  if(mapME[collectionLabel+"nrcand"]){ mapME[collectionLabel+"nrcand"]->Fill(num);}
407 
408  }
409 }
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
bool isValid() const
Definition: HandleBase.h:76
long long int num
Definition: procUtils.cc:71
void HLTOniaSource::fillOniaTriggerMEs ( std::vector< reco::RecoChargedCandidateRef > &  candidateVector,
std::string  collectionLabel,
std::map< std::string, MonitorElement * > &  mapME 
)
private

Definition at line 412 of file HLTOniaSource.cc.

References reco::LeafCandidate::charge(), reco::LeafCandidate::eta(), i, reco::LeafCandidate::p(), reco::LeafCandidate::phi(), and reco::LeafCandidate::pt().

412  {
413 
414  for (unsigned int i=0; i!=candidateVector.size(); i++) {
415  reco::RecoChargedCandidate tk = (*candidateVector[i]);
416 
417  //Fill MEs
418  if(mapME[collectionLabel+"pt"]){ mapME[collectionLabel+"pt"]->Fill(tk.pt()); }
419  if(mapME[collectionLabel+"p"]) { mapME[collectionLabel+"p"]->Fill(tk.p()); }
420  if(mapME[collectionLabel+"eta"]) { mapME[collectionLabel+"eta"]->Fill(tk.eta()); }
421  if(mapME[collectionLabel+"phi"]) { mapME[collectionLabel+"phi"]->Fill(tk.phi()); }
422  if(mapME[collectionLabel+"etaphi"]){ mapME[collectionLabel+"etaphi"]->Fill(tk.phi(),tk.eta()); }
423  if(mapME[collectionLabel+"etapt"]){ mapME[collectionLabel+"etapt"]->Fill(tk.pt(),tk.eta()); }
424  if(mapME[collectionLabel+"charge"]){ mapME[collectionLabel+"charge"]->Fill(tk.charge()); }
425 
426  // if(mapME[collectionLabel+"dxy"]){ mapME[collectionLabel+"dxy"]->Fill(tk.dxy(BSPosition_)); }
427 // if(mapME[collectionLabel+"dz"]){ mapME[collectionLabel+"dz"]->Fill(tk.dz(BSPosition_)); }
428 
429 // if(mapME[collectionLabel+"validhits"]) { mapME[collectionLabel+"validhits"]->Fill(tk.numberOfValidHits()); }
430 // if(mapME[collectionLabel+"normchi"]){ mapME[collectionLabel+"normchi"]->Fill(tk.normalizedChi2()); }
431  }
432 
433  if(mapME[collectionLabel+"nrcand"]){ mapME[collectionLabel+"nrcand"]->Fill( candidateVector.size());}
434 }
int i
Definition: DBlmapReader.cc:9
virtual double p() const GCC11_FINAL
magnitude of momentum vector
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
virtual int charge() const GCC11_FINAL
electric charge
virtual float pt() const GCC11_FINAL
transverse momentum

Member Data Documentation

edm::InputTag HLTOniaSource::beamSpotTag_
private

Definition at line 64 of file HLTOniaSource.h.

Referenced by analyze(), and HLTOniaSource().

reco::BeamSpot::Point HLTOniaSource::BSPosition_
private

Definition at line 41 of file HLTOniaSource.h.

Referenced by analyze().

DQMStore* HLTOniaSource::dbe_
private
bool HLTOniaSource::hltConfigInit_
private

Definition at line 73 of file HLTOniaSource.h.

Referenced by analyze(), and beginRun().

std::string HLTOniaSource::hltProcessName_
private

Definition at line 56 of file HLTOniaSource.h.

Referenced by beginRun(), and HLTOniaSource().

std::map<std::string, MonitorElement *> HLTOniaSource::massME_
private

Definition at line 72 of file HLTOniaSource.h.

Referenced by beginRun(), bookOniaTriggerInvariantMassMEs(), and fillInvariantMass().

std::map<std::string, MonitorElement *> HLTOniaSource::muonME_
private

Definition at line 70 of file HLTOniaSource.h.

Referenced by analyze(), and beginRun().

std::vector<edm::InputTag> HLTOniaSource::oniaMuonTag_
private

Definition at line 59 of file HLTOniaSource.h.

Referenced by analyze(), beginRun(), and HLTOniaSource().

std::map<std::string, MonitorElement *> HLTOniaSource::pixelAfterFilterME_
private

Definition at line 67 of file HLTOniaSource.h.

Referenced by analyze(), and beginRun().

std::map<std::string, MonitorElement *> HLTOniaSource::pixelME_
private

Definition at line 69 of file HLTOniaSource.h.

Referenced by analyze(), and beginRun().

edm::InputTag HLTOniaSource::pixelTag_
private

Definition at line 63 of file HLTOniaSource.h.

Referenced by analyze(), beginRun(), and HLTOniaSource().

std::vector<edm::InputTag> HLTOniaSource::pixelTagsAfterFilter_
private

Definition at line 60 of file HLTOniaSource.h.

Referenced by analyze(), beginRun(), and HLTOniaSource().

std::string HLTOniaSource::subsystemFolder_
private

Definition at line 55 of file HLTOniaSource.h.

Referenced by beginRun(), and HLTOniaSource().

std::map<std::string, MonitorElement *> HLTOniaSource::trackAfterFilterME_
private

Definition at line 68 of file HLTOniaSource.h.

Referenced by analyze(), and beginRun().

std::map<std::string, MonitorElement *> HLTOniaSource::trackME_
private

Definition at line 71 of file HLTOniaSource.h.

Referenced by analyze(), and beginRun().

edm::InputTag HLTOniaSource::trackTag_
private

Definition at line 65 of file HLTOniaSource.h.

Referenced by analyze(), beginRun(), and HLTOniaSource().

std::vector<edm::InputTag> HLTOniaSource::trackTagsAfterFilter_
private

Definition at line 61 of file HLTOniaSource.h.

Referenced by analyze(), beginRun(), and HLTOniaSource().

std::vector< std::string> HLTOniaSource::triggerPath_
private

Definition at line 58 of file HLTOniaSource.h.

Referenced by checkHLTConfiguration(), and HLTOniaSource().

edm::InputTag HLTOniaSource::triggerSummaryRAWTag_
private

Definition at line 62 of file HLTOniaSource.h.

Referenced by analyze(), and HLTOniaSource().