CMS 3D CMS Logo

Public Member Functions | Private Types | Private Member Functions | Private Attributes

QcdUeDQM Class Reference

#include <QcdUeDQM.h>

Inheritance diagram for QcdUeDQM:
edm::EDAnalyzer

List of all members.

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup)
void beginJob (void)
void beginLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
void beginRun (const edm::Run &r, const edm::EventSetup &iSetup)
void endJob (void)
void endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
void endRun (const edm::Run &r, const edm::EventSetup &iSetup)
 QcdUeDQM (const edm::ParameterSet &parameters)
virtual ~QcdUeDQM ()

Private Types

typedef std::vector< const
reco::Track * > 
container

Private Member Functions

void book1D (std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=1, bool sbox=1)
void book2D (std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, int ny, double y1, double y2, bool sumw2=1, bool sbox=1)
void bookProfile (std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, double y1, double y2, bool sumw2=1, bool sbox=1)
void create1D (std::vector< TH1F * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=1, bool sbox=1)
void create2D (std::vector< TH2F * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, int ny, double y1, double y2, bool sumw2=1, bool sbox=1)
void createHistos ()
void createProfile (std::vector< TProfile * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, double y1, double y2, bool sumw2=1, bool sbox=1)
void fill1D (std::vector< TH1F * > &hs, double val, double w=1.)
void fill1D (std::vector< MonitorElement * > &mes, double val, double w=1.)
void fill2D (std::vector< TH2F * > &hs, double valx, double valy, double w=1.)
void fill2D (std::vector< MonitorElement * > &mes, double valx, double valy, double w=1.)
void fill3D (std::vector< TH3F * > &hs, int gbin, double w=1.)
void fillChargedJetSpectra (const edm::Handle< reco::TrackJetCollection > trackJets)
void fillHltBits (const edm::Event &iEvent, const edm::EventSetup &iSetup)
void fillProfile (std::vector< TProfile * > &hs, double valx, double valy, double w=1.)
void fillProfile (std::vector< MonitorElement * > &mes, double valx, double valy, double w=1.)
void fillpTMaxRelated (const std::vector< const reco::Track * > &track)
void fillUE_with_ChargedJets (const std::vector< const reco::Track * > &track, const edm::Handle< reco::TrackJetCollection > &trackJets)
void fillUE_with_MaxpTtrack (const std::vector< const reco::Track * > &track)
bool fillVtxPlots (const reco::BeamSpot *bs, const edm::Handle< reco::VertexCollection > vtxColl)
template<typename TYPE >
void getProduct (const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
template<typename TYPE >
bool getProductSafe (const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
void setLabel1D (std::vector< MonitorElement * > &mes)
bool trackSelection (const reco::Track &trk, const reco::BeamSpot *bs, const reco::Vertex &vtx, int sizevtx)

Private Attributes

std::vector
< reco::TrackBase::TrackAlgorithm
algorithm_
bool allowTriplets_
edm::InputTag bsLabel_
double bsPos_
bool bsuse_
edm::InputTag caloJetLabel_
edm::InputTag chargedJetLabel_
double diffvtxbs_
MonitorElementh2TrigCorr_
std::vector< MonitorElement * > hBeamSpot_x_
std::vector< MonitorElement * > hBeamSpot_y_
std::vector< MonitorElement * > hBeamSpot_z_
std::vector< MonitorElement * > hChargedJetConstituent_
std::vector< MonitorElement * > hChargedJetMulti_
std::vector< MonitorElement * > hdNdEtadPhi_pTMax_Away500_
std::vector< MonitorElement * > hdNdEtadPhi_pTMax_Away900_
std::vector< MonitorElement * > hdNdEtadPhi_pTMax_Toward500_
std::vector< MonitorElement * > hdNdEtadPhi_pTMax_Toward900_
std::vector< MonitorElement * > hdNdEtadPhi_pTMax_Transverse500_
std::vector< MonitorElement * > hdNdEtadPhi_pTMax_Transverse900_
std::vector< MonitorElement * > hdNdEtadPhi_trackJet_Away500_
std::vector< MonitorElement * > hdNdEtadPhi_trackJet_Away900_
std::vector< MonitorElement * > hdNdEtadPhi_trackJet_Toward500_
std::vector< MonitorElement * > hdNdEtadPhi_trackJet_Toward900_
std::vector< MonitorElement * > hdNdEtadPhi_trackJet_Transverse500_
std::vector< MonitorElement * > hdNdEtadPhi_trackJet_Transverse900_
std::vector< MonitorElement * > hdPhi_chargedJet_tracks_
std::vector< MonitorElement * > hdPhi_maxpTTrack_tracks_
std::vector< MonitorElement * > hGoodTrkEta500_
std::vector< MonitorElement * > hGoodTrkEta900_
std::vector< MonitorElement * > hGoodTrkPhi500_
std::vector< MonitorElement * > hGoodTrkPhi900_
std::vector< MonitorElement * > hGoodTrkPt500_
std::vector< MonitorElement * > hGoodTrkPt900_
std::vector< MonitorElement * > hLeadingChargedJet_etaSpectrum_
std::vector< MonitorElement * > hLeadingChargedJet_phiSpectrum_
std::vector< MonitorElement * > hLeadingChargedJet_pTSpectrum_
std::vector< MonitorElement * > hLeadingTrack_etaSpectrum_
std::vector< MonitorElement * > hLeadingTrack_phiSpectrum_
std::vector< MonitorElement * > hLeadingTrack_pTSpectrum_
HLTConfigProvider hltConfig
std::vector< std::string > hltProcNames_
std::string hltResName_
std::vector< int > hltTrgBits_
std::vector< bool > hltTrgDeci_
std::vector< std::string > hltTrgNames_
std::vector< std::string > hltTrgUsedNames_
std::string hltUsedResName_
std::vector< MonitorElement * > hNevts_
std::vector< MonitorElement * > hNgoodTrk_
std::vector< MonitorElement * > hNtrackerLayer_
std::vector< MonitorElement * > hNtrackerPixelLayer_
std::vector< MonitorElement * > hNtrackerStripPixelLayer_
std::vector< MonitorElement * > hNvertices_
std::vector< MonitorElement * > hpTSumdEtadPhi_pTMax_Away500_
std::vector< MonitorElement * > hpTSumdEtadPhi_pTMax_Away900_
std::vector< MonitorElement * > hpTSumdEtadPhi_pTMax_Toward500_
std::vector< MonitorElement * > hpTSumdEtadPhi_pTMax_Toward900_
std::vector< MonitorElement * > hpTSumdEtadPhi_pTMax_Transverse500_
std::vector< MonitorElement * > hpTSumdEtadPhi_pTMax_Transverse900_
std::vector< MonitorElement * > hpTSumdEtadPhi_trackJet_Away500_
std::vector< MonitorElement * > hpTSumdEtadPhi_trackJet_Away900_
std::vector< MonitorElement * > hpTSumdEtadPhi_trackJet_Toward500_
std::vector< MonitorElement * > hpTSumdEtadPhi_trackJet_Toward900_
std::vector< MonitorElement * > hpTSumdEtadPhi_trackJet_Transverse500_
std::vector< MonitorElement * > hpTSumdEtadPhi_trackJet_Transverse900_
std::vector< MonitorElement * > hRatioDxySigmaDxyBS_
std::vector< MonitorElement * > hRatioDxySigmaDxyPV_
std::vector< MonitorElement * > hRatioDzSigmaDzBS_
std::vector< MonitorElement * > hRatioDzSigmaDzPV_
std::vector< MonitorElement * > hRatioPtErrorPt_
std::vector< MonitorElement * > hTrkChi2_
std::vector< MonitorElement * > hTrkEta_
std::vector< MonitorElement * > hTrkNdof_
std::vector< MonitorElement * > hTrkPhi_
std::vector< MonitorElement * > hTrkPt_
std::vector< MonitorElement * > hVertex_ndof_
std::vector< MonitorElement * > hVertex_rho_
std::vector< MonitorElement * > hVertex_x_
std::vector< MonitorElement * > hVertex_y_
std::vector< MonitorElement * > hVertex_z_
std::vector< MonitorElement * > hVertex_z_bs_
bool isHltConfigSuccessful_
double lip_
double maxChi2_
double maxRapidity_
int min3DHit_
int minHit_
double minRapidity_
double ptErr_pt_
double ptMin_
double pxlLayerMinCut_
std::vector
< reco::TrackBase::TrackQuality
quality_
MonitorElementrepSumMap_
MonitorElementrepSummary_
bool requirePIX1_
container selected_
const TrackerGeometrytgeo_
DQMStoretheDbe_
double tip_
edm::InputTag trackLabel_
int verbose_
reco::Vertex vtx1
edm::InputTag vtxLabel_
double vtxntk_

Detailed Description

Definition at line 51 of file QcdUeDQM.h.


Member Typedef Documentation

typedef std::vector<const reco::Track *> QcdUeDQM::container [private]

Definition at line 287 of file QcdUeDQM.h.


Constructor & Destructor Documentation

QcdUeDQM::QcdUeDQM ( const edm::ParameterSet parameters)

Definition at line 56 of file QcdUeDQM.cc.

References reco::TrackBase::algoByName(), algorithm(), algorithm_, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hltProcNames_, hltTrgNames_, isHltConfigSuccessful_, j, quality_, and reco::TrackBase::qualityByName().

                                                 :
  hltResName_(parameters.getUntrackedParameter<string>("hltTrgResults")),
  verbose_(parameters.getUntrackedParameter<int>("verbose",3)),
  tgeo_(0),
  theDbe_(0),
  repSumMap_(0),
  repSummary_(0),
  h2TrigCorr_(0),
  ptMin_(parameters.getParameter<double>("ptMin")),
  minRapidity_(parameters.getParameter<double>("minRapidity")),
  maxRapidity_(parameters.getParameter<double>("maxRapidity")),
  tip_(parameters.getParameter<double>("tip")),
  lip_(parameters.getParameter<double>("lip")),
  diffvtxbs_(parameters.getParameter<double>("diffvtxbs")),
  ptErr_pt_(parameters.getParameter<double>("ptErr_pt")),
  vtxntk_(parameters.getParameter<double>("vtxntk")),
  minHit_(parameters.getParameter<int>("minHit")),
  pxlLayerMinCut_(parameters.getParameter<double>("pxlLayerMinCut")),
  requirePIX1_(parameters.getParameter<bool>("requirePIX1")),
  min3DHit_(parameters.getParameter<int>("min3DHit")),
  maxChi2_(parameters.getParameter<double>("maxChi2")),
  bsuse_(parameters.getParameter<bool>("bsuse")),
  allowTriplets_(parameters.getParameter<bool>("allowTriplets")),
  bsPos_(parameters.getParameter<double>("bsPos")),
  caloJetLabel_(parameters.getUntrackedParameter<edm::InputTag>("caloJetTag")),
  chargedJetLabel_(parameters.getUntrackedParameter<edm::InputTag>("chargedJetTag")),
  trackLabel_(parameters.getUntrackedParameter<edm::InputTag>("trackTag")),
  vtxLabel_(parameters.getUntrackedParameter<edm::InputTag>("vtxTag")),
  bsLabel_(parameters.getParameter<edm::InputTag>("beamSpotTag")) 
{
  // Constructor.
  std::vector<std::string> quality = parameters.getParameter<std::vector<std::string> >("quality");
  for (unsigned int j=0;j<quality.size();j++) quality_.push_back(reco::TrackBase::qualityByName(quality[j])); 
  std::vector<std::string> algorithm = parameters.getParameter<std::vector<std::string> >("algorithm");
  for (unsigned int j=0;j<algorithm.size();j++) algorithm_.push_back(reco::TrackBase::algoByName(algorithm[j])); 

  if (parameters.exists("hltTrgNames"))
    hltTrgNames_ = parameters.getUntrackedParameter<vector<string> >("hltTrgNames");

  if (parameters.exists("hltProcNames"))
     hltProcNames_ = parameters.getUntrackedParameter<vector<string> >("hltProcNames");
  else {
    //     hltProcNames_.push_back("FU");
     hltProcNames_.push_back("HLT");
  }

  isHltConfigSuccessful_ = false; // init
 
}
QcdUeDQM::~QcdUeDQM ( ) [virtual]

Definition at line 107 of file QcdUeDQM.cc.

{
  // Destructor.


}

Member Function Documentation

void QcdUeDQM::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 115 of file QcdUeDQM.cc.

References SiPixelRawToDigiRegional_cfi::beamSpot, bsLabel_, caloJetLabel_, chargedJetLabel_, fill1D(), fillChargedJetSpectra(), fillHltBits(), fillpTMaxRelated(), fillUE_with_ChargedJets(), fillUE_with_MaxpTtrack(), fillVtxPlots(), edm::Event::getByLabel(), hNevts_, isHltConfigSuccessful_, edm::Handle< T >::product(), selected_, python::multivaluedict::sort(), trackLabel_, testEve_cfg::tracks, trackSelection(), vtx1, and vtxLabel_.

{
  if( ! isHltConfigSuccessful_ ) return;

  // Analyze the given event.
   
   edm::Handle<reco::BeamSpot> beamSpot;
   bool ValidBS_ = iEvent.getByLabel(bsLabel_,beamSpot);
   if(!ValidBS_)return;

   edm::Handle<reco::TrackCollection>tracks ;
   bool ValidTrack_ = iEvent.getByLabel(trackLabel_,tracks);
   if(!ValidTrack_)return;

   //edm::Handle<reco::CandidateView> trkJets;
   //bool ValidTrackJet_ = iEvent.getByLabel (chargedJetLabel_,trkJets);
   //if(!ValidTrackJet_)return;

   edm::Handle< reco::TrackJetCollection > trkJets ;
   bool ValidTrackJet_ =  iEvent.getByLabel(chargedJetLabel_,trkJets );
   if(!ValidTrackJet_)return;

   
   edm::Handle<reco::CaloJetCollection> calJets;
   bool ValidCaloJet_ = iEvent.getByLabel (caloJetLabel_,calJets);
   if(!ValidCaloJet_)return;
 
   edm::Handle< reco::VertexCollection > vertexColl;
   bool ValidVtxColl_ = iEvent.getByLabel (vtxLabel_, vertexColl);
   if(!ValidVtxColl_)return;

   reco::TrackCollection tracks_sort = *tracks;
   std::sort(tracks_sort.begin(), tracks_sort.end(), PtSorter()); 

  // get tracker geometry
/*  ESHandle<TrackerGeometry> trackerHandle;
  iSetup.get<TrackerDigiGeometryRecord>().get(trackerHandle);
  tgeo_ = trackerHandle.product();
  if (!tgeo_)return;
*/
  selected_.clear(); 
  fillHltBits(iEvent,iSetup);
  // select good tracks
  if(fillVtxPlots(beamSpot.product(),vertexColl))
  {
  fill1D(hNevts_,1);
  for(reco::TrackCollection::const_iterator Trk = tracks_sort.begin(); Trk != tracks_sort.end(); ++Trk)
   {
    
   if ( trackSelection(*Trk,beamSpot.product(),vtx1,vertexColl->size()) ) selected_.push_back( & * Trk );   
   }
 
      
    fillpTMaxRelated(selected_);
    fillChargedJetSpectra(trkJets);  
//    fillCaloJetSpectra(calJets);
    fillUE_with_MaxpTtrack(selected_);
    if(trkJets->size() > 0)fillUE_with_ChargedJets(selected_,trkJets); 
   // if(calJets->size()>0)fillUE_with_CaloJets(selected_,calJets);
  
 }

}
void QcdUeDQM::beginJob ( void  ) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 180 of file QcdUeDQM.cc.

References cppFunctionSkipper::operator, and theDbe_.

{
  // Begin job and setup the DQM store.

  theDbe_ = Service<DQMStore>().operator->();
  if (!theDbe_)return;
  
  //  theDbe_->setCurrentFolder("Physics/QcdUe");
  
}
void QcdUeDQM::beginLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup iSetup 
) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 192 of file QcdUeDQM.cc.

References isHltConfigSuccessful_.

{
  if( ! isHltConfigSuccessful_ ) return;

  // At the moment, nothing needed to be done.
}
void QcdUeDQM::beginRun ( const edm::Run r,
const edm::EventSetup iSetup 
) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 201 of file QcdUeDQM.cc.

References gather_cfg::cout, CP, createHistos(), newFWLiteAna::found, hltConfig, hltProcNames_, hltResName_, hltTrgBits_, hltTrgDeci_, hltTrgNames_, hltTrgUsedNames_, hltUsedResName_, i, HLTConfigProvider::init(), isHltConfigSuccessful_, j, HLTConfigProvider::size(), and HLTConfigProvider::triggerName().

{

 // indicating change of HLT cfg at run boundries
 // for HLTConfigProvider::init()
 bool isHltCfgChange = false;
 isHltConfigSuccessful_ = false; // init

 string teststr;
 for(size_t i=0; i<hltProcNames_.size(); ++i) {
   if (i>0) 
     teststr += ", ";
   teststr += hltProcNames_.at(i);
   if ( hltConfig.init( run, iSetup, hltProcNames_.at(i), isHltCfgChange ) ) {
     isHltConfigSuccessful_ = true;
     hltUsedResName_ = hltResName_;
     if (hltResName_.find(':')==string::npos)
       hltUsedResName_ += "::";
     else 
       hltUsedResName_ += ":";
     hltUsedResName_ += hltProcNames_.at(i);
     break;
   }
 }
 
 if ( ! isHltConfigSuccessful_ )return;

  // setup "Any" bit
  hltTrgBits_.clear();
  hltTrgBits_.push_back(-1);
  hltTrgDeci_.clear();
  hltTrgDeci_.push_back(true);
  hltTrgUsedNames_.clear();
  hltTrgUsedNames_.push_back("Any");

  // figure out relation of trigger name to trigger bit and store used trigger names/bits
  for(size_t i=0;i<hltTrgNames_.size();++i) {
    const string &n1(hltTrgNames_.at(i));
    //unsigned int hlt_prescale = hltConfig.prescaleValue(iSetup, n1);
    //cout<<"trigger=="<<n1<<"presc=="<<hlt_prescale<<endl;
    bool found = 0;
    for(size_t j=0;j<hltConfig.size();++j) {
      const string &n2(hltConfig.triggerName(j));
      if (n2==n1) {
        hltTrgBits_.push_back(j);
        hltTrgUsedNames_.push_back(n1);
        hltTrgDeci_.push_back(false);
        found = 1;
        break;
      }
    }      
    if (!found) {
      CP(2) cout<<"Could not find trigger bit"<<endl ;
    }
  }
 
  // book monitoring histograms
  createHistos();
  isHltConfigSuccessful_ = true;

}
void QcdUeDQM::book1D ( std::vector< MonitorElement * > &  mes,
const std::string &  name,
const std::string &  title,
int  nx,
double  x1,
double  x2,
bool  sumw2 = 1,
bool  sbox = 1 
) [private]

Definition at line 264 of file QcdUeDQM.cc.

References DQMStore::book1D(), alignCSCRings::e, MonitorElement::getTH1(), hltTrgUsedNames_, i, DQMStore::setCurrentFolder(), and theDbe_.

Referenced by createHistos().

{
  // Book 1D histos.

  for(size_t i=0;i<hltTrgUsedNames_.size();++i) {
    std::string folderName = "Physics/QcdUe/" + hltTrgUsedNames_.at(i);
    theDbe_->setCurrentFolder(folderName);
    MonitorElement *e = theDbe_->book1D(Form("%s_%s",name.c_str(),hltTrgUsedNames_.at(i).c_str()),
                                        Form("%s: %s",hltTrgUsedNames_.at(i).c_str(), title.c_str()), 
                                        nx, x1, x2);
    TH1 *h1 = e->getTH1();
    if (sumw2) {
      if( 0 == h1->GetSumw2N() ) { // protect against re-summing (would cause exception)
        h1->Sumw2();
      }
    }
    h1->SetStats(sbox);
    mes.push_back(e);
  }
}
void QcdUeDQM::book2D ( std::vector< MonitorElement * > &  mes,
const std::string &  name,
const std::string &  title,
int  nx,
double  x1,
double  x2,
int  ny,
double  y1,
double  y2,
bool  sumw2 = 1,
bool  sbox = 1 
) [private]

Definition at line 288 of file QcdUeDQM.cc.

References DQMStore::book2D(), alignCSCRings::e, MonitorElement::getTH1(), hltTrgUsedNames_, i, DQMStore::setCurrentFolder(), and theDbe_.

{
  // Book 2D histos.

  for(size_t i=0;i<hltTrgUsedNames_.size();++i) {
    std::string folderName = "Physics/QcdUe/" + hltTrgUsedNames_.at(i);
    theDbe_->setCurrentFolder(folderName);
    MonitorElement *e = theDbe_->book2D(Form("%s_%s",name.c_str(),hltTrgUsedNames_.at(i).c_str()),
                                        Form("%s: %s",hltTrgUsedNames_.at(i).c_str(), title.c_str()), 
                                        nx, x1, x2, ny, y1, y2);
    TH1 *h1 = e->getTH1();
    if (sumw2) {
      if( 0 == h1->GetSumw2N() ) { // protect against re-summing (would cause exception)
        h1->Sumw2();
      }
    }
    h1->SetStats(sbox);
    mes.push_back(e);
  }
}
void QcdUeDQM::bookProfile ( std::vector< MonitorElement * > &  mes,
const std::string &  name,
const std::string &  title,
int  nx,
double  x1,
double  x2,
double  y1,
double  y2,
bool  sumw2 = 1,
bool  sbox = 1 
) [private]

Definition at line 313 of file QcdUeDQM.cc.

References DQMStore::bookProfile(), alignCSCRings::e, hltTrgUsedNames_, i, DQMStore::setCurrentFolder(), and theDbe_.

Referenced by createHistos().

{
  // Book Profile histos.

  for(size_t i=0;i<hltTrgUsedNames_.size();++i) {
    std::string folderName = "Physics/QcdUe/" + hltTrgUsedNames_.at(i);
    theDbe_->setCurrentFolder(folderName);
    MonitorElement *e = theDbe_->bookProfile(Form("%s_%s",name.c_str(),hltTrgUsedNames_.at(i).c_str()),
                                        Form("%s: %s",hltTrgUsedNames_.at(i).c_str(), title.c_str()), 
                                        nx, x1, x2, y1, y2," ");
    mes.push_back(e);
  }
}
void QcdUeDQM::create1D ( std::vector< TH1F * > &  mes,
const std::string &  name,
const std::string &  title,
int  nx,
double  x1,
double  x2,
bool  sumw2 = 1,
bool  sbox = 1 
) [private]
void QcdUeDQM::create2D ( std::vector< TH2F * > &  mes,
const std::string &  name,
const std::string &  title,
int  nx,
double  x1,
double  x2,
int  ny,
double  y1,
double  y2,
bool  sumw2 = 1,
bool  sbox = 1 
) [private]
void QcdUeDQM::createHistos ( ) [private]

Definition at line 330 of file QcdUeDQM.cc.

References book1D(), DQMStore::book2D(), bookProfile(), MonitorElement::getTH1(), h, h2TrigCorr_, hBeamSpot_x_, hBeamSpot_y_, hBeamSpot_z_, hChargedJetMulti_, hdNdEtadPhi_pTMax_Away500_, hdNdEtadPhi_pTMax_Away900_, hdNdEtadPhi_pTMax_Toward500_, hdNdEtadPhi_pTMax_Toward900_, hdNdEtadPhi_pTMax_Transverse500_, hdNdEtadPhi_pTMax_Transverse900_, hdNdEtadPhi_trackJet_Away500_, hdNdEtadPhi_trackJet_Away900_, hdNdEtadPhi_trackJet_Toward500_, hdNdEtadPhi_trackJet_Toward900_, hdNdEtadPhi_trackJet_Transverse500_, hdNdEtadPhi_trackJet_Transverse900_, hdPhi_chargedJet_tracks_, hdPhi_maxpTTrack_tracks_, hGoodTrkEta500_, hGoodTrkEta900_, hGoodTrkPhi500_, hGoodTrkPhi900_, hGoodTrkPt500_, hGoodTrkPt900_, hLeadingChargedJet_etaSpectrum_, hLeadingChargedJet_phiSpectrum_, hLeadingChargedJet_pTSpectrum_, hLeadingTrack_etaSpectrum_, hLeadingTrack_phiSpectrum_, hLeadingTrack_pTSpectrum_, hltTrgUsedNames_, hNevts_, hNgoodTrk_, hNtrackerLayer_, hNtrackerPixelLayer_, hNtrackerStripPixelLayer_, hNvertices_, hpTSumdEtadPhi_pTMax_Away500_, hpTSumdEtadPhi_pTMax_Away900_, hpTSumdEtadPhi_pTMax_Toward500_, hpTSumdEtadPhi_pTMax_Toward900_, hpTSumdEtadPhi_pTMax_Transverse500_, hpTSumdEtadPhi_pTMax_Transverse900_, hpTSumdEtadPhi_trackJet_Away500_, hpTSumdEtadPhi_trackJet_Away900_, hpTSumdEtadPhi_trackJet_Toward500_, hpTSumdEtadPhi_trackJet_Toward900_, hpTSumdEtadPhi_trackJet_Transverse500_, hpTSumdEtadPhi_trackJet_Transverse900_, hRatioDxySigmaDxyBS_, hRatioDxySigmaDxyPV_, hRatioDzSigmaDzBS_, hRatioDzSigmaDzPV_, hRatioPtErrorPt_, hTrkChi2_, hTrkEta_, hTrkNdof_, hTrkPhi_, hTrkPt_, hVertex_ndof_, hVertex_rho_, hVertex_x_, hVertex_y_, hVertex_z_, hVertex_z_bs_, i, MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), and theDbe_.

Referenced by beginRun().

{
  // Book histograms if needed.


/*  if (1) {
    theDbe_->setCurrentFolder("Physics/EventInfo/");
    repSumMap_  = theDbe_->book2D("reportSummaryMap","reportSummaryMap",1,0,1,1,0,1);
    repSummary_ = theDbe_->bookFloat("reportSummary");
  }
  */ 
   theDbe_->setCurrentFolder("Physics/QcdUe");

  if (1) {
    const int Nx = hltTrgUsedNames_.size();
    const double x1 = -0.5;
    const double x2 = Nx-0.5;
    h2TrigCorr_ = theDbe_->book2D("h2TriCorr","Trigger bit x vs y;y&&!x;x&&y",Nx,x1,x2,Nx,x1,x2);
    for(size_t i=1;i<=hltTrgUsedNames_.size();++i) {
      h2TrigCorr_->setBinLabel(i,hltTrgUsedNames_.at(i-1),1);
      h2TrigCorr_->setBinLabel(i,hltTrgUsedNames_.at(i-1),2);
    }
    TH1 *h = h2TrigCorr_->getTH1();
    if (h)
      h->SetStats(0);
  }
  book1D(hNevts_,"hNevts","number of events",2,0,2);
  book1D(hNtrackerLayer_,"hNtrackerLayer","number of tracker layers;multiplicity",20,-0.5,19.5 );
  book1D(hNtrackerPixelLayer_,"hNtrackerPixelLayer","number of pixel layers;multiplicity",10,-0.5,9.5 );
  book1D(hNtrackerStripPixelLayer_,"hNtrackerStripPixelLayer","number of strip + pixel layers;multiplicity",30,-0.5,39.5 );
  book1D(hRatioPtErrorPt_,"hRatioPtErrorPt","ratio of pT error and track pT",25,0.,5.);
  book1D(hTrkPt_,"hTrkPt","pT of all tracks",50,0.,50.);
  book1D(hTrkEta_,"hTrkEta","eta of all tracks",40,-4.,4.);
  book1D(hTrkPhi_,"hTrkPhi","phi of all tracks",40,-4.,4.);
  book1D(hRatioDxySigmaDxyBS_,"hRatioDxySigmaDxyBS","ratio of transverse impact parameter and its significance wrt beam spot",60,-10.,10);
  book1D(hRatioDxySigmaDxyPV_,"hRatioDxySigmaDxyPV","ratio of transverse impact parameter and its significance wrt PV",60,-10.,10);
  book1D(hRatioDzSigmaDzBS_,"hRatioDzSigmaDzBS","ratio of longitudinal impact parameter and its significance wrt beam spot",80,-20.,20);
  book1D(hRatioDzSigmaDzPV_,"hRatioDzSigmaDzPV","ratio of longitudinal impact parameter and its significance wrt PV",80,-20.,20);
  book1D(hTrkChi2_,"hTrkChi2","track chi2",30,0.,30);
  book1D(hTrkNdof_,"hTrkNdof","track NDOF",100,0,100);

  book1D(hNgoodTrk_,"hNgoodTrk","number of good tracks",50,-0.5,49.5);

  book1D(hGoodTrkPt500_,"hGoodTrkPt500","pT of all good tracks with pT > 500 MeV",50,0.,50.);
  book1D(hGoodTrkEta500_,"hGoodTrkEta500","eta of all good tracks pT > 500 MeV",40,-4.,4.);
  book1D(hGoodTrkPhi500_,"hGoodTrkPhi500","phi of all good tracks pT > 500 MeV",40,-4.,4.);

  book1D(hGoodTrkPt900_,"hGoodTrkPt900","pT of all good tracks with pT > 900 MeV",50,0.,50.);
  book1D(hGoodTrkEta900_,"hGoodTrkEta900","eta of all good tracks pT > 900 MeV",40,-4.,4.);
  book1D(hGoodTrkPhi900_,"hGoodTrkPhi900","phi of all good tracks pT > 900 MeV",40,-4.,4.);

  book1D(hNvertices_,"hNvertices","number of vertices",5,-0.5,4.5);
  book1D(hVertex_z_,"hVertex_z","z position of vertex; z[cm]",200,-50,50);
  book1D(hVertex_y_,"hVertex_y","y position of vertex; y[cm]",100,-5,5);
  book1D(hVertex_x_,"hVertex_x","x position of vertex; x[cm]",100,-5,5);
  book1D(hVertex_ndof_,"hVertex_ndof","ndof of vertex",100,0,100);
  book1D(hVertex_rho_,"hVertex_rho","rho of vertex",100,0,5);
  book1D(hVertex_z_bs_,"hVertex_z_bs","z position of vertex from beamspot; z[cm]",200,-50,50);

  book1D(hBeamSpot_z_,"hBeamSpot_z","z position of beamspot; z[cm]",100,-20,20);
  book1D(hBeamSpot_y_,"hBeamSpot_y","y position of beamspot; y[cm]",50,-10,10);
  book1D(hBeamSpot_x_,"hBeamSpot_x","x position of beamspot; x[cm]",50,-10,10);


  if (1) {
    const int Nx = 25;
    const double x1 = 0.0;
    const double x2 = 50.0;
    book1D(hLeadingTrack_pTSpectrum_,"hLeadingTrack_pTSpectrum","pT spectrum of leading track;pT(GeV/c)",Nx,x1,x2);
//    book1D(hLeadingCaloJet_pTSpectrum_,"hLeadingCalo_pTSpectrum","pT spectrum of leading calo jet;pT(GeV/c)",Nx,x1,x2);
    book1D(hLeadingChargedJet_pTSpectrum_,"hLeadingChargedJet_pTSpectrum","pT spectrum of leading track jet;pT(GeV/c)",Nx,x1,x2);
    
  }
  
  if (1) {
    const int Nx = 24;
    const double x1 = -4.;
    const double x2 =  4.;
    book1D(hLeadingTrack_phiSpectrum_,"hLeadingTrack_phiSpectrum","#phi spectrum of leading track;#phi",Nx,x1,x2);
  //  book1D(hLeadingCaloJet_phiSpectrum_,"hLeadingCaloJet_phiSpectrum","#phi spectrum of leading calo jet;#phi",Nx,x1,x2);
    book1D(hLeadingChargedJet_phiSpectrum_,"hLeadingChargedJet_phiSpectrum","#phi spectrum of leading track jet;#phi",Nx,x1,x2);

  }
  
  if (1) {
    const int Nx = 24;
    const double x1 = -4.;
    const double x2 =  4.;
    book1D(hLeadingTrack_etaSpectrum_,"hLeadingTrack_etaSpectrum","#eta spectrum of leading track;#eta",Nx,x1,x2);
    //book1D(hLeadingCaloJet_etaSpectrum_,"hLeadingCaloJet_etaSpectrum","#eta spectrum of leading calo jet;#eta",Nx,x1,x2);
    book1D(hLeadingChargedJet_etaSpectrum_,"hLeadingChargedJet_etaSpectrum","#eta spectrum of leading track jet;#eta",Nx,x1,x2);

  }


if (1) {
    const int Nx = 75;
    const double x1 = 0.0;
    const double x2 = 75.0;
    const double y1 = 0.;
    const double y2 = 10.;
    bookProfile(hdNdEtadPhi_pTMax_Toward500_,"hdNdEtadPhi_pTMax_Toward500", 
                 "Average number of tracks (pT > 500 MeV) in toward region vs leading track pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_pTMax_Transverse500_,"hdNdEtadPhi_pTMax_Transverse500", 
                 "Average number of tracks (pT > 500 MeV) in transverse region vs leading track pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_pTMax_Away500_,"hdNdEtadPhi_pTMax_Away500", 
                 "Average number of tracks (pT > 500 MeV) in away region vs leading track pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
 /*
    bookProfile(hdNdEtadPhi_caloJet_Toward500_,"hdNdEtadPhi_caloJet_Toward500", 
                 "Average number of tracks (pT > 500 MeV) in toward region vs leading calo jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_caloJet_Transverse500_,"hdNdEtadPhi_caloJet_Transverse500", 
                 "Average number of tracks (pT > 500 MeV) in transverse region vs leading calo jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_caloJet_Away500_,"hdNdEtadPhi_caloJet_Away500", 
                 "Average number of tracks (pT > 500 MeV) in away region vs leading calo jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);   
  */

    bookProfile(hdNdEtadPhi_trackJet_Toward500_,"hdNdEtadPhi_trackJet_Toward500", 
                 "Average number of tracks (pT > 500 MeV) in toward region vs leading track jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2);
    bookProfile(hdNdEtadPhi_trackJet_Transverse500_,"hdNdEtadPhi_trackJet_Transverse500", 
                 "Average number of tracks (pT > 500 MeV) in transverse region vs leading track jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_trackJet_Away500_,"hdNdEtadPhi_trackJet_Away500", 
                 "Average number of tracks (pT > 500 MeV) in away region vs leading track jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);


 
    bookProfile(hpTSumdEtadPhi_pTMax_Toward500_,"hpTSumdEtadPhi_pTMax_Toward500", 
                 "Average number of tracks (pT > 500 MeV) in toward region vs leading track pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_pTMax_Transverse500_,"hpTSumdEtadPhi_pTMax_Transverse500", 
                 "Average number of tracks (pT > 500 MeV) in transverse region vs leading track pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_pTMax_Away500_,"hpTSumdEtadPhi_pTMax_Away500", 
                 "Average number of tracks (pT > 500 MeV) in away region vs leading track pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
/* 
    bookProfile(hpTSumdEtadPhi_caloJet_Toward500_,"hpTSumdEtadPhi_caloJet_Toward500", 
                 "Average number of tracks (pT > 500 MeV) in toward region vs leading calo jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_caloJet_Transverse500_,"hpTSumdEtadPhi_caloJet_Transverse500", 
                 "Average number of tracks (pT > 500 MeV) in transverse region vs leading calo jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_caloJet_Away500_,"hpTSumdEtadPhi_caloJet_Away500", 
                 "Average number of tracks (pT > 500 MeV) in away region vs leading calo jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);   
*/
  
    bookProfile(hpTSumdEtadPhi_trackJet_Toward500_,"hpTSumdEtadPhi_trackJet_Toward500", 
                 "Average number of tracks (pT > 500 MeV) in toward region vs leading track jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_trackJet_Transverse500_,"hpTSumdEtadPhi_trackJet_Transverse500", 
                 "Average number of tracks (pT > 500 MeV) in transverse region vs leading track jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_trackJet_Away500_,"hpTSumdEtadPhi_trackJet_Away500", 
                 "Average number of tracks (pT > 500 MeV) in away region vs leading track jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);

   
   bookProfile(hdNdEtadPhi_pTMax_Toward900_,"hdNdEtadPhi_pTMax_Toward900",
                 "Average number of tracks (pT > 900 MeV) in toward region vs leading track pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_pTMax_Transverse900_,"hdNdEtadPhi_pTMax_Transverse900",
                 "Average number of tracks (pT > 900 MeV) in transverse region vs leading track pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_pTMax_Away900_,"hdNdEtadPhi_pTMax_Away900",
                 "Average number of tracks (pT > 900 MeV) in away region vs leading track pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
/*
    bookProfile(hdNdEtadPhi_caloJet_Toward900_,"hdNdEtadPhi_caloJet_Toward900",
                 "Average number of tracks (pT > 900 MeV) in toward region vs leading calo jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_caloJet_Transverse900_,"hdNdEtadPhi_caloJet_Transverse900",
                 "Average number of tracks (pT > 900 MeV) in transverse region vs leading calo jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_caloJet_Away900_,"hdNdEtadPhi_caloJet_Away900",
                 "Average number of tracks (pT > 900 MeV) in away region vs leading calo jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
*/

    bookProfile(hdNdEtadPhi_trackJet_Toward900_,"hdNdEtadPhi_trackJet_Toward900",
                 "Average number of tracks (pT > 900 MeV) in toward region vs leading track jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2);
    bookProfile(hdNdEtadPhi_trackJet_Transverse900_,"hdNdEtadPhi_trackJet_Transverse900",
                 "Average number of tracks (pT > 900 MeV) in transverse region vs leading track jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hdNdEtadPhi_trackJet_Away900_,"hdNdEtadPhi_trackJet_Away900",
                 "Average number of tracks (pT > 900 MeV) in away region vs leading track jet pT;pT(GeV/c);dN/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);



    bookProfile(hpTSumdEtadPhi_pTMax_Toward900_,"hpTSumdEtadPhi_pTMax_Toward900",
                 "Average number of tracks (pT > 900 MeV) in toward region vs leading track pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_pTMax_Transverse900_,"hpTSumdEtadPhi_pTMax_Transverse900",
                 "Average number of tracks (pT > 900 MeV) in transverse region vs leading track pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_pTMax_Away900_,"hpTSumdEtadPhi_pTMax_Away900",
                 "Average number of tracks (pT > 900 MeV) in away region vs leading track pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
/*
    bookProfile(hpTSumdEtadPhi_caloJet_Toward900_,"hpTSumdEtadPhi_caloJet_Toward900",
                 "Average number of tracks (pT > 900 MeV) in toward region vs leading calo jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_caloJet_Transverse900_,"hpTSumdEtadPhi_caloJet_Transverse900",
                 "Average number of tracks (pT > 900 MeV) in transverse region vs leading calo jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_caloJet_Away900_,"hpTSumdEtadPhi_caloJet_Away900",
                 "Average number of tracks (pT > 900 MeV) in away region vs leading calo jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
*/
    bookProfile(hpTSumdEtadPhi_trackJet_Toward900_,"hpTSumdEtadPhi_trackJet_Toward900",
                 "Average number of tracks (pT > 900 MeV) in toward region vs leading track jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_trackJet_Transverse900_,"hpTSumdEtadPhi_trackJet_Transverse900",
                 "Average number of tracks (pT > 900 MeV) in transverse region vs leading track jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
    bookProfile(hpTSumdEtadPhi_trackJet_Away900_,"hpTSumdEtadPhi_trackJet_Away900",
                 "Average number of tracks (pT > 900 MeV) in away region vs leading track jet pT;pT(GeV/c);dpTSum/d#eta d#phi",Nx,x1,x2,y1,y2,0,0);
 
   
  }

if (1) {
    const int Nx = 20;
    const double x1 = 0.0;
    const double x2 = 20.0;

        book1D(hChargedJetMulti_,"hChargedJetMulti","Charged jet multiplicity;multiplicities",Nx,x1,x2);
        //book1D(hCaloJetMulti_,"hCaloJetMulti","Calo jet multiplicity;multiplicities",Nx,x1,x2);

  }


if (1) {
    const int Nx = 60;
    const double x1 = -180.0;
    const double x2 = 180.0;

        book1D(hdPhi_maxpTTrack_tracks_,"hdPhi_maxpTTrack_tracks","delta phi between leading tracks and other tracks;#Delta#phi(leading track-track)",Nx,x1,x2);
//        book1D(hdPhi_caloJet_tracks_,"hdPhi_caloJet_tracks","delta phi between leading calo jet  and tracks;#Delta#phi(leading calo jet-track)",Nx,x1,x2);
        book1D(hdPhi_chargedJet_tracks_,"hdPhi_chargedJet_tracks","delta phi between leading charged jet  and tracks;#Delta#phi(leading charged jet-track)",Nx,x1,x2);

}
            

}
void QcdUeDQM::createProfile ( std::vector< TProfile * > &  mes,
const std::string &  name,
const std::string &  title,
int  nx,
double  x1,
double  x2,
double  y1,
double  y2,
bool  sumw2 = 1,
bool  sbox = 1 
) [private]
void QcdUeDQM::endJob ( void  ) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 552 of file QcdUeDQM.cc.

{
}
void QcdUeDQM::endLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup iSetup 
) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 558 of file QcdUeDQM.cc.

References isHltConfigSuccessful_.

{
  if( ! isHltConfigSuccessful_ ) return;

  // Update various histograms.

  //repSummary_->Fill(1.);
 // repSumMap_->Fill(0.5,0.5,1.);

}
void QcdUeDQM::endRun ( const edm::Run r,
const edm::EventSetup iSetup 
) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 572 of file QcdUeDQM.cc.

References isHltConfigSuccessful_.

{
  if( ! isHltConfigSuccessful_ ) return;

  // End run, cleanup. TODO: can this be called several times in DQM???

}
void QcdUeDQM::fill1D ( std::vector< MonitorElement * > &  mes,
double  val,
double  w = 1. 
) [private]

Definition at line 593 of file QcdUeDQM.cc.

References hltTrgDeci_, and i.

{
  // Loop over histograms and fill if trigger has fired.

  for(size_t i=0;i<mes.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
    mes.at(i)->Fill(val,w);
  }
}
void QcdUeDQM::fill1D ( std::vector< TH1F * > &  hs,
double  val,
double  w = 1. 
) [private]

Definition at line 581 of file QcdUeDQM.cc.

References hltTrgDeci_, and i.

Referenced by analyze(), fillChargedJetSpectra(), fillpTMaxRelated(), fillUE_with_ChargedJets(), fillUE_with_MaxpTtrack(), fillVtxPlots(), and trackSelection().

{
  // Loop over histograms and fill if trigger has fired.

  for(size_t i=0;i<hs.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
    hs.at(i)->Fill(val,w);
  }
}
void QcdUeDQM::fill2D ( std::vector< TH2F * > &  hs,
double  valx,
double  valy,
double  w = 1. 
) [private]

Definition at line 617 of file QcdUeDQM.cc.

References hltTrgDeci_, and i.

{
  // Loop over histograms and fill if trigger has fired.

  for(size_t i=0;i<hs.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
    hs.at(i)->Fill(valx, valy ,w);
  }
}
void QcdUeDQM::fill2D ( std::vector< MonitorElement * > &  mes,
double  valx,
double  valy,
double  w = 1. 
) [private]

Definition at line 629 of file QcdUeDQM.cc.

References hltTrgDeci_, and i.

{
  // Loop over histograms and fill if trigger has fired.

  for(size_t i=0;i<mes.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
    mes.at(i)->Fill(valx, valy ,w);
  }
}
void QcdUeDQM::fill3D ( std::vector< TH3F * > &  hs,
int  gbin,
double  w = 1. 
) [private]
void QcdUeDQM::fillChargedJetSpectra ( const edm::Handle< reco::TrackJetCollection trackJets) [private]

Definition at line 806 of file QcdUeDQM.cc.

References f, fill1D(), hChargedJetMulti_, hLeadingChargedJet_etaSpectrum_, hLeadingChargedJet_phiSpectrum_, and hLeadingChargedJet_pTSpectrum_.

Referenced by analyze().

{
  fill1D(hChargedJetMulti_,trackJets->size());
  for( reco::TrackJetCollection::const_iterator f  = trackJets->begin();  f != trackJets->end(); f++) 
    {
      if(f != trackJets->begin())continue;
      fill1D(hLeadingChargedJet_pTSpectrum_,f->pt());
      fill1D(hLeadingChargedJet_etaSpectrum_,f->eta());
      fill1D(hLeadingChargedJet_phiSpectrum_,f->phi());
    } 
        
}
void QcdUeDQM::fillHltBits ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 1084 of file QcdUeDQM.cc.

References MonitorElement::Fill(), getProduct(), h2TrigCorr_, hltTrgBits_, hltTrgDeci_, hltUsedResName_, i, j, and findQualityFiles::size.

Referenced by analyze().

{
  // Fill HLT trigger bits.

  Handle<TriggerResults> triggerResultsHLT;
  getProduct(hltUsedResName_, triggerResultsHLT, iEvent);
  
/*  const unsigned int ntrigs(triggerResultsHLT.product()->size());
  if( ntrigs != 0 ) {
  const edm::TriggerNames & triggerNames = iEvent.triggerNames(*triggerResultsHLT);
  for (unsigned int j=0; j!=ntrigs; j++) {
//    if(triggerResultsHLT->accept(j)){
//    unsigned int hlt_prescale = hltConfig_.prescaleValue(iEvent, iSetup, triggerName);
    cout<<"trigger fired"<<triggerNames.triggerName(j)<<endl;
    for(unsigned int itrigName = 0; itrigName < hltTrgNames_.size(); itrigName++ ) {
     unsigned int hlt_prescale = hltConfig.prescaleValue(iEvent, iSetup, hltTrgNames_[itrigName]);

     if(triggerNames.triggerIndex(hltTrgNames_[itrigName]) >= (unsigned int)ntrigs ) continue; 
//    if( triggerResultsHLT->accept(triggerNames.triggerIndex(hltTrgNames_[itrigName])) )cout<<hltTrgNames_[itrigName]<<endl;

 }
    }
   } 
 // }
*/
  for(size_t i=0;i<hltTrgBits_.size();++i) {
    if (hltTrgBits_.at(i)<0) 
      continue; //ignore unknown trigger 
    size_t tbit = hltTrgBits_.at(i);
    if (tbit<triggerResultsHLT->size()) {
      hltTrgDeci_[i] = triggerResultsHLT->accept(tbit);
  }
 }
  // fill correlation histogram
  for(size_t i=0;i<hltTrgBits_.size();++i) {
    if (hltTrgDeci_.at(i))
      h2TrigCorr_->Fill(i,i);
    for(size_t j=i+1;j<hltTrgBits_.size();++j) {
      if (hltTrgDeci_.at(i) && hltTrgDeci_.at(j))
        h2TrigCorr_->Fill(i,j);
      if (hltTrgDeci_.at(i) && !hltTrgDeci_.at(j))
        h2TrigCorr_->Fill(j,i);
    }
  }
}
void QcdUeDQM::fillProfile ( std::vector< TProfile * > &  hs,
double  valx,
double  valy,
double  w = 1. 
) [private]

Definition at line 640 of file QcdUeDQM.cc.

References hltTrgDeci_, and i.

Referenced by fillUE_with_ChargedJets(), and fillUE_with_MaxpTtrack().

{
  // Loop over histograms and fill if trigger has fired.

  for(size_t i=0;i<hs.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
    hs.at(i)->Fill(valx, valy ,w);
  }
}
void QcdUeDQM::fillProfile ( std::vector< MonitorElement * > &  mes,
double  valx,
double  valy,
double  w = 1. 
) [private]

Definition at line 652 of file QcdUeDQM.cc.

References hltTrgDeci_, i, w(), and detailsBasic3DVector::y.

{
  // Loop over histograms and fill if trigger has fired.

  for(size_t i=0;i<mes.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
   const double y = valy*w; 
    mes.at(i)->Fill(valx, y);
  }
}
void QcdUeDQM::fillpTMaxRelated ( const std::vector< const reco::Track * > &  track) [private]

Definition at line 781 of file QcdUeDQM.cc.

References eta(), fill1D(), hGoodTrkEta500_, hGoodTrkEta900_, hGoodTrkPhi500_, hGoodTrkPhi900_, hGoodTrkPt500_, hGoodTrkPt900_, hLeadingTrack_etaSpectrum_, hLeadingTrack_phiSpectrum_, hLeadingTrack_pTSpectrum_, hNgoodTrk_, i, and phi.

Referenced by analyze().

 {
   fill1D(hNgoodTrk_,track.size());
   if(track.size()>0)
   {
   fill1D(hLeadingTrack_pTSpectrum_,track[0]->pt());
   fill1D(hLeadingTrack_phiSpectrum_,track[0]->phi());
   fill1D(hLeadingTrack_etaSpectrum_,track[0]->eta());
   }
     for(size_t i = 0; i < track.size(); i++)
       {
        fill1D(hGoodTrkPt500_,track[i]->pt());
        fill1D(hGoodTrkEta500_,track[i]->eta());
        fill1D(hGoodTrkPhi500_,track[i]->phi());
        if(track[i]->pt() > 0.9)
        {
        fill1D(hGoodTrkPt900_,track[i]->pt());
        fill1D(hGoodTrkEta900_,track[i]->eta());
        fill1D(hGoodTrkPhi900_,track[i]->phi());
        }
        }
                     
 }
void QcdUeDQM::fillUE_with_ChargedJets ( const std::vector< const reco::Track * > &  track,
const edm::Handle< reco::TrackJetCollection > &  trackJets 
) [private]

Definition at line 926 of file QcdUeDQM.cc.

References SiPixelRawToDigiRegional_cfi::deltaPhi, fill1D(), fillProfile(), hdNdEtadPhi_trackJet_Away500_, hdNdEtadPhi_trackJet_Away900_, hdNdEtadPhi_trackJet_Toward500_, hdNdEtadPhi_trackJet_Toward900_, hdNdEtadPhi_trackJet_Transverse500_, hdNdEtadPhi_trackJet_Transverse900_, hdPhi_chargedJet_tracks_, hpTSumdEtadPhi_trackJet_Away500_, hpTSumdEtadPhi_trackJet_Away900_, hpTSumdEtadPhi_trackJet_Toward500_, hpTSumdEtadPhi_trackJet_Toward900_, hpTSumdEtadPhi_trackJet_Transverse500_, hpTSumdEtadPhi_trackJet_Transverse900_, i, reco::btau::jetPhi, phi, PI, and w().

Referenced by analyze().

{
double w = 0.119;
double nTrk500_TransReg = 0;
double nTrk500_AwayReg = 0;
double nTrk500_TowardReg = 0;
  
double pTSum500_TransReg = 0;
double pTSum500_AwayReg = 0;
double pTSum500_TowardReg = 0;


double nTrk900_TransReg = 0;
double nTrk900_AwayReg = 0;
double nTrk900_TowardReg = 0;

double pTSum900_TransReg = 0;
double pTSum900_AwayReg = 0;
double pTSum900_TowardReg = 0;

   if(!(trackJets->empty()) && (trackJets->begin())->pt() > 1.)
         {
         double jetPhi = (trackJets->begin())->phi();
           for(size_t i = 0; i < track.size();i++)
                   {
                         double dphi = (180./PI)*(deltaPhi(jetPhi,track[i]->phi()));
                         fill1D(hdPhi_chargedJet_tracks_,dphi);
                         if(fabs(dphi)>60. && fabs(dphi)<120.)
                           {
                                 pTSum500_TransReg =  pTSum500_TransReg + track[i]->pt();
                                 nTrk500_TransReg++;
                                 if(track[i]->pt() > 0.9)
                                 {
                                 pTSum900_TransReg =  pTSum900_TransReg + track[i]->pt();
                                 nTrk900_TransReg++;
                                 }
                           }
                        
                         if(fabs(dphi)>120. && fabs(dphi)<180.)
                           {
                                 pTSum500_AwayReg =  pTSum500_AwayReg + track[i]->pt();
                                 nTrk500_AwayReg++;
                                  if(track[i]->pt() > 0.9)
                                 {
                                 pTSum900_AwayReg =  pTSum900_AwayReg + track[i]->pt();
                                 nTrk900_AwayReg++;
                                 }
                           }
                         if(fabs(dphi)<60.)
                           {
                                 pTSum500_TowardReg =  pTSum500_TowardReg + track[i]->pt();
                                 nTrk500_TowardReg++;
                                  if(track[i]->pt() > 0.9)
                                 {
                                 pTSum900_TowardReg =  pTSum900_TowardReg + track[i]->pt();
                                 nTrk900_TowardReg++;
                                 } 
                           }
                       }// tracks loop 

                   }// leading track jet
                 
                 fillProfile(hdNdEtadPhi_trackJet_Toward500_, (trackJets->begin())->pt(),nTrk500_TowardReg,w);
                 fillProfile(hdNdEtadPhi_trackJet_Transverse500_, (trackJets->begin())->pt(),nTrk500_TransReg,w);
                 fillProfile(hdNdEtadPhi_trackJet_Away500_, (trackJets->begin())->pt(),nTrk500_AwayReg,w);
                 
                 fillProfile(hpTSumdEtadPhi_trackJet_Toward500_, (trackJets->begin())->pt(),pTSum500_TowardReg,w);
                 fillProfile(hpTSumdEtadPhi_trackJet_Transverse500_, (trackJets->begin())->pt(),pTSum500_TransReg,w);
                 fillProfile(hpTSumdEtadPhi_trackJet_Away500_, (trackJets->begin())->pt(),pTSum500_AwayReg,w);

                 fillProfile(hdNdEtadPhi_trackJet_Toward900_, (trackJets->begin())->pt(),nTrk900_TowardReg,w);
                 fillProfile(hdNdEtadPhi_trackJet_Transverse900_, (trackJets->begin())->pt(),nTrk900_TransReg,w);
                 fillProfile(hdNdEtadPhi_trackJet_Away900_, (trackJets->begin())->pt(),nTrk900_AwayReg,w);

                 fillProfile(hpTSumdEtadPhi_trackJet_Toward900_, (trackJets->begin())->pt(),pTSum900_TowardReg,w);
                 fillProfile(hpTSumdEtadPhi_trackJet_Transverse900_, (trackJets->begin())->pt(),pTSum900_TransReg,w);
                 fillProfile(hpTSumdEtadPhi_trackJet_Away900_, (trackJets->begin())->pt(),pTSum900_AwayReg,w);  
}
void QcdUeDQM::fillUE_with_MaxpTtrack ( const std::vector< const reco::Track * > &  track) [private]

Definition at line 843 of file QcdUeDQM.cc.

References SiPixelRawToDigiRegional_cfi::deltaPhi, fill1D(), fillProfile(), hdNdEtadPhi_pTMax_Away500_, hdNdEtadPhi_pTMax_Away900_, hdNdEtadPhi_pTMax_Toward500_, hdNdEtadPhi_pTMax_Toward900_, hdNdEtadPhi_pTMax_Transverse500_, hdNdEtadPhi_pTMax_Transverse900_, hdPhi_maxpTTrack_tracks_, hpTSumdEtadPhi_pTMax_Away500_, hpTSumdEtadPhi_pTMax_Away900_, hpTSumdEtadPhi_pTMax_Toward500_, hpTSumdEtadPhi_pTMax_Toward900_, hpTSumdEtadPhi_pTMax_Transverse500_, hpTSumdEtadPhi_pTMax_Transverse900_, i, phi, PI, and w().

Referenced by analyze().

{
double w = 0.119;          
//double w = 1.;
double nTrk500_TransReg = 0;
double nTrk500_AwayReg = 0;
double nTrk500_TowardReg = 0;
 
double pTSum500_TransReg = 0;
double pTSum500_AwayReg = 0;
double pTSum500_TowardReg = 0;


double nTrk900_TransReg = 0;
double nTrk900_AwayReg = 0;
double nTrk900_TowardReg = 0;

double pTSum900_TransReg = 0;
double pTSum900_AwayReg = 0;
double pTSum900_TowardReg = 0;
   if(track.size() > 0) 
    {
     if(track[0]->pt() > 1.)
         {
            for(size_t i = 1; i < track.size();i++)
                 {
                        
                       double dphi = (180./PI)*(deltaPhi(track[0]->phi(),track[i]->phi()));
                       fill1D(hdPhi_maxpTTrack_tracks_,dphi);
                       if(fabs(dphi)>60. && fabs(dphi)<120.)
                         {
                               pTSum500_TransReg =  pTSum500_TransReg + track[i]->pt();     
                               nTrk500_TransReg++;
                               if(track[i]->pt() > 0.9)
                               {
                               pTSum900_TransReg =  pTSum900_TransReg + track[i]->pt();
                               nTrk900_TransReg++;
                               }
                         }            
                        
                       if(fabs(dphi)>120. && fabs(dphi)<180.)
                         {
                               pTSum500_AwayReg =  pTSum500_AwayReg + track[i]->pt();   
                               nTrk500_AwayReg++;
                                if(track[i]->pt() > 0.9)
                                {
                                pTSum900_AwayReg =  pTSum900_AwayReg + track[i]->pt();
                                nTrk900_AwayReg++;

                                } 
                         } 
                       
                       if(fabs(dphi)<60.)
                         {
                               pTSum500_TowardReg =  pTSum500_TowardReg + track[i]->pt();
                               nTrk500_TowardReg++;
                               if(track[i]->pt() > 0.9)
                               {
                               pTSum900_TowardReg =  pTSum900_TowardReg + track[i]->pt();
                               nTrk900_TowardReg++;
                               } 
                         }           
                     } // track loop 
                 }// leading track
             // non empty collection
               fillProfile(hdNdEtadPhi_pTMax_Toward500_, track[0]->pt(),nTrk500_TowardReg,w);
               fillProfile(hdNdEtadPhi_pTMax_Transverse500_, track[0]->pt(),nTrk500_TransReg,w);
               fillProfile(hdNdEtadPhi_pTMax_Away500_, track[0]->pt(),nTrk500_AwayReg,w);

               fillProfile(hpTSumdEtadPhi_pTMax_Toward500_,track[0]->pt() ,pTSum500_TowardReg,w);
               fillProfile(hpTSumdEtadPhi_pTMax_Transverse500_,track[0]->pt(),pTSum500_TransReg,w);
               fillProfile(hpTSumdEtadPhi_pTMax_Away500_, track[0]->pt(),pTSum500_AwayReg,w);

               fillProfile(hdNdEtadPhi_pTMax_Toward900_, track[0]->pt(),nTrk900_TowardReg,w);
               fillProfile(hdNdEtadPhi_pTMax_Transverse900_, track[0]->pt(),nTrk900_TransReg,w);
               fillProfile(hdNdEtadPhi_pTMax_Away900_, track[0]->pt(),nTrk900_AwayReg,w);

               fillProfile(hpTSumdEtadPhi_pTMax_Toward900_,track[0]->pt() ,pTSum900_TowardReg,w);
               fillProfile(hpTSumdEtadPhi_pTMax_Transverse900_,track[0]->pt(),pTSum900_TransReg,w);
               fillProfile(hpTSumdEtadPhi_pTMax_Away900_, track[0]->pt(),pTSum900_AwayReg,w);
     }
}
bool QcdUeDQM::fillVtxPlots ( const reco::BeamSpot bs,
const edm::Handle< reco::VertexCollection vtxColl 
) [private]

Definition at line 756 of file QcdUeDQM.cc.

References diffvtxbs_, fill1D(), hNvertices_, hVertex_ndof_, hVertex_rho_, hVertex_x_, hVertex_y_, hVertex_z_, hVertex_z_bs_, edm::Handle< T >::product(), vtx1, and reco::BeamSpot::z0().

Referenced by analyze().

{
  const reco::VertexCollection theVertices = *(vtxColl.product());
  bool goodVtx = false;
  fill1D(hNvertices_,theVertices.size()); 
    for (reco::VertexCollection::const_iterator vertexIt = theVertices.begin(); vertexIt != theVertices.end(); ++vertexIt) 
      {
        fill1D(hVertex_z_,vertexIt->z());
        fill1D(hVertex_y_,vertexIt->y());
        fill1D(hVertex_x_,vertexIt->x());
        fill1D(hVertex_ndof_,vertexIt->ndof());
        fill1D(hVertex_rho_,vertexIt->position().rho()); 
        fill1D(hVertex_z_bs_,(vertexIt->z() -bs->z0()));

        if(fabs(vertexIt->z() -bs->z0()) < diffvtxbs_  && vertexIt->ndof() >= 4 && vertexIt->position().rho()<= 2.0)
         {
         goodVtx = true;
         vtx1=(*vertexIt);
         
         break;
         }
      } // Loop over vertcies
   return goodVtx;
}
template<typename TYPE >
void QcdUeDQM::getProduct ( const std::string  name,
edm::Handle< TYPE > &  prod,
const edm::Event event 
) const [inline, private]

Definition at line 295 of file QcdUeDQM.h.

References edm::errors::Configuration, and edm::HandleBase::isValid().

Referenced by fillHltBits().

{
  // Try to access data collection from EDM file. We check if we really get just one
  // product with the given name. If not we throw an exception.

  event.getByLabel(edm::InputTag(name),prod);
  if (!prod.isValid()) 
    throw edm::Exception(edm::errors::Configuration, "QcdUeDQM::GetProduct()\n")
      << "Collection with label " << name << " is not valid" <<  std::endl;
}
template<typename TYPE >
bool QcdUeDQM::getProductSafe ( const std::string  name,
edm::Handle< TYPE > &  prod,
const edm::Event event 
) const [inline, private]

Definition at line 309 of file QcdUeDQM.h.

References edm::HandleBase::isValid().

{
  // Try to safely access data collection from EDM file. We check if we really get just one
  // product with the given name. If not, we return false.

  if (name.size()==0)
    return false;

  try {
    event.getByLabel(edm::InputTag(name),prod);
    if (!prod.isValid()) 
      return false;
  } catch (...) {
    return false;
  }
  return true;
}
void QcdUeDQM::setLabel1D ( std::vector< MonitorElement * > &  mes) [private]

Definition at line 605 of file QcdUeDQM.cc.

References GOODCOLL_filter_cfg::cut, hltTrgDeci_, i, and j.

{
  // Loop over histograms and fill if trigger has fired.
  string cut[5] = {"Nevt","vtx!=bmspt","Zvtx<10cm","pT>1GeV","trackFromVtx"};
  for(size_t i=0;i<mes.size();++i) {
    if (!hltTrgDeci_.at(i))
      continue;
    for(size_t j = 1;j < 6;j++)mes.at(i)->setBinLabel(j,cut[j-1],1);
  }
}
bool QcdUeDQM::trackSelection ( const reco::Track trk,
const reco::BeamSpot bs,
const reco::Vertex vtx,
int  sizevtx 
) [private]

Definition at line 665 of file QcdUeDQM.cc.

References reco::TrackBase::algo(), algorithm_, allowTriplets_, bsuse_, reco::TrackBase::dxy(), reco::TrackBase::dxyError(), reco::TrackBase::dz(), reco::TrackBase::dzError(), reco::TrackBase::eta(), fill1D(), spr::find(), reco::HitPattern::getHitPattern(), reco::HitPattern::getLayer(), hBeamSpot_x_, hBeamSpot_y_, hBeamSpot_z_, reco::TrackBase::hitPattern(), hNtrackerLayer_, hNtrackerPixelLayer_, hNtrackerStripPixelLayer_, hRatioDxySigmaDxyBS_, hRatioDxySigmaDxyPV_, hRatioDzSigmaDzBS_, hRatioDzSigmaDzPV_, hRatioPtErrorPt_, hTrkChi2_, hTrkEta_, hTrkNdof_, hTrkPhi_, hTrkPt_, i, lip_, maxChi2_, maxRapidity_, min3DHit_, minHit_, minRapidity_, reco::TrackBase::ndof(), reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfHits(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::phi(), reco::HitPattern::pixelHitFilter(), reco::Vertex::position(), reco::BeamSpot::position(), reco::TrackBase::pt(), ptErr_pt_, reco::TrackBase::ptError(), ptMin_, pxlLayerMinCut_, reco::TrackBase::quality(), quality_, requirePIX1_, tip_, reco::HitPattern::validHitFilter(), reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

Referenced by analyze().

{
//-------------Fill basic histograms---------


//-------------------------------------------

 bool goodTrk = false;

 if(sizevtx!=1) return 0;    //selection events with only a vertex

 //Fill basic information of all the tracks
  fill1D(hNtrackerLayer_,trk.hitPattern().trackerLayersWithMeasurement());
  fill1D(hNtrackerPixelLayer_,trk.hitPattern().pixelLayersWithMeasurement());
  fill1D(hNtrackerStripPixelLayer_,(trk.hitPattern().pixelLayersWithMeasurement() +  trk.hitPattern().numberOfValidStripLayersWithMonoAndStereo()));
  fill1D(hRatioPtErrorPt_,(trk.ptError()/trk.pt()));
  fill1D(hTrkPt_,trk.pt());
  fill1D(hTrkEta_,trk.eta());  
  fill1D(hTrkPhi_,trk.phi());
  fill1D(hRatioDxySigmaDxyBS_,(trk.dxy(bs->position())/trk.dxyError()));
  fill1D(hRatioDxySigmaDxyPV_,(trk.dxy(vtx.position())/trk.dxyError()));
  fill1D(hRatioDzSigmaDzBS_,(trk.dz(bs->position())/trk.dzError()));
  fill1D(hRatioDzSigmaDzPV_,(trk.dz(vtx.position())/trk.dzError()));
  fill1D(hTrkChi2_,trk.normalizedChi2());
  fill1D(hTrkNdof_,trk.ndof());   

  fill1D(hBeamSpot_x_,bs->x0());
  fill1D(hBeamSpot_y_,bs->y0()); 
  fill1D(hBeamSpot_z_,bs->z0());
 
 //number of layers
 bool layerMinCutbool=false;
    if (trk.hitPattern().trackerLayersWithMeasurement() >= minHit_ ||
                (trk.hitPattern().trackerLayersWithMeasurement()==3 && trk.hitPattern().pixelLayersWithMeasurement()==3 && allowTriplets_))
      layerMinCutbool=true;


  //number of pixel layers
 bool pxlLayerMinCutbool=false;
    if (trk.hitPattern().pixelLayersWithMeasurement() >=pxlLayerMinCut_) pxlLayerMinCutbool=true;


 // cut on the hits in pixel layers
 bool hasPIX1 = false;
    if (requirePIX1_) {
      const reco::HitPattern& p = trk.hitPattern();
      for (int i=0; i<p.numberOfHits(); i++) {
        uint32_t hit = p.getHitPattern(i);
        if (p.validHitFilter(hit) && p.pixelHitFilter(hit) && p.getLayer(hit)==1) hasPIX1 = true;
      }
    }else hasPIX1 = true;
 
 // cut on the pT error
 bool ptErrorbool=false; 
    if (trk.ptError()/trk.pt() < ptErr_pt_ || 
        (trk.hitPattern().trackerLayersWithMeasurement()==3 && trk.hitPattern().pixelLayersWithMeasurement()==3 && allowTriplets_)) ptErrorbool=true; 
 // quality cut
 bool quality_ok = true;  
 if (quality_.size()!=0) {
      quality_ok = false;
      for (unsigned int i = 0; i<quality_.size();++i) {
        if (trk.quality(quality_[i])){
          quality_ok = true;
          break;
        }
      }
    }
 //-----
 bool algo_ok = true;
    if (algorithm_.size()!=0) {
      if (std::find(algorithm_.begin(),algorithm_.end(),trk.algo())==algorithm_.end()) algo_ok = false;
    }
 

 if(bsuse_==1)
      {
    if(hasPIX1 &&  pxlLayerMinCutbool && layerMinCutbool &&  (trk.hitPattern().pixelLayersWithMeasurement() +  trk.hitPattern().numberOfValidStripLayersWithMonoAndStereo()) >= min3DHit_ && ptErrorbool && fabs(trk.pt()) >= ptMin_ &&  trk.eta() >= minRapidity_ && trk.eta() <= maxRapidity_ &&  fabs(trk.dxy(bs->position())/trk.dxyError()) < tip_ &&  fabs(trk.dz(bs->position())/trk.dzError()) < lip_  &&  trk.normalizedChi2()<=maxChi2_ &&  quality_ok &&  algo_ok)goodTrk=true ;
      }

    if(bsuse_==0)
     {
       if(hasPIX1 &&  pxlLayerMinCutbool &&  layerMinCutbool &&  (trk.hitPattern().pixelLayersWithMeasurement() +  trk.hitPattern().numberOfValidStripLayersWithMonoAndStereo())  >= min3DHit_ && ptErrorbool && fabs(trk.pt()) >= ptMin_ && trk.eta() >= minRapidity_ && trk.eta() <= maxRapidity_ && fabs(trk.dxy(vtx.position())/trk.dxyError()) < tip_ && fabs(trk.dz(vtx.position())/trk.dzError()) < lip_  && trk.normalizedChi2()<=maxChi2_ && quality_ok &&  algo_ok)goodTrk=true;
     
     }

  return goodTrk;

 }

Member Data Documentation

Definition at line 286 of file QcdUeDQM.h.

Referenced by QcdUeDQM(), and trackSelection().

bool QcdUeDQM::allowTriplets_ [private]

Definition at line 278 of file QcdUeDQM.h.

Referenced by trackSelection().

Definition at line 284 of file QcdUeDQM.h.

Referenced by analyze().

double QcdUeDQM::bsPos_ [private]

Definition at line 279 of file QcdUeDQM.h.

bool QcdUeDQM::bsuse_ [private]

Definition at line 277 of file QcdUeDQM.h.

Referenced by trackSelection().

Definition at line 280 of file QcdUeDQM.h.

Referenced by analyze().

Definition at line 281 of file QcdUeDQM.h.

Referenced by analyze().

double QcdUeDQM::diffvtxbs_ [private]

Definition at line 269 of file QcdUeDQM.h.

Referenced by fillVtxPlots().

Definition at line 146 of file QcdUeDQM.h.

Referenced by createHistos(), and fillHltBits().

std::vector<MonitorElement*> QcdUeDQM::hBeamSpot_x_ [private]

Definition at line 183 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hBeamSpot_y_ [private]

Definition at line 182 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hBeamSpot_z_ [private]

Definition at line 181 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

Definition at line 195 of file QcdUeDQM.h.

Definition at line 194 of file QcdUeDQM.h.

Referenced by createHistos(), and fillChargedJetSpectra().

Definition at line 214 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 240 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 212 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 238 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 213 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 239 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 221 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 247 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 219 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 245 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 220 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 246 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 206 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 204 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

std::vector<MonitorElement*> QcdUeDQM::hGoodTrkEta500_ [private]

Definition at line 158 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

std::vector<MonitorElement*> QcdUeDQM::hGoodTrkEta900_ [private]

Definition at line 161 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

std::vector<MonitorElement*> QcdUeDQM::hGoodTrkPhi500_ [private]

Definition at line 159 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

std::vector<MonitorElement*> QcdUeDQM::hGoodTrkPhi900_ [private]

Definition at line 162 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

std::vector<MonitorElement*> QcdUeDQM::hGoodTrkPt500_ [private]

Definition at line 157 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

std::vector<MonitorElement*> QcdUeDQM::hGoodTrkPt900_ [private]

Definition at line 160 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

Definition at line 209 of file QcdUeDQM.h.

Referenced by createHistos(), and fillChargedJetSpectra().

Definition at line 210 of file QcdUeDQM.h.

Referenced by createHistos(), and fillChargedJetSpectra().

Definition at line 196 of file QcdUeDQM.h.

Referenced by createHistos(), and fillChargedJetSpectra().

Definition at line 187 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

Definition at line 188 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

Definition at line 186 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

Definition at line 130 of file QcdUeDQM.h.

Referenced by beginRun().

std::vector<std::string> QcdUeDQM::hltProcNames_ [private]

Definition at line 133 of file QcdUeDQM.h.

Referenced by beginRun(), and QcdUeDQM().

std::string QcdUeDQM::hltResName_ [private]

Definition at line 132 of file QcdUeDQM.h.

Referenced by beginRun().

std::vector<int> QcdUeDQM::hltTrgBits_ [private]

Definition at line 137 of file QcdUeDQM.h.

Referenced by beginRun(), and fillHltBits().

std::vector<bool> QcdUeDQM::hltTrgDeci_ [private]

Definition at line 138 of file QcdUeDQM.h.

Referenced by beginRun(), fill1D(), fill2D(), fillHltBits(), fillProfile(), and setLabel1D().

std::vector<std::string> QcdUeDQM::hltTrgNames_ [private]

Definition at line 134 of file QcdUeDQM.h.

Referenced by beginRun(), and QcdUeDQM().

std::vector<std::string> QcdUeDQM::hltTrgUsedNames_ [private]

Definition at line 139 of file QcdUeDQM.h.

Referenced by beginRun(), book1D(), book2D(), bookProfile(), and createHistos().

std::string QcdUeDQM::hltUsedResName_ [private]

Definition at line 140 of file QcdUeDQM.h.

Referenced by beginRun(), and fillHltBits().

std::vector<MonitorElement*> QcdUeDQM::hNevts_ [private]

Definition at line 148 of file QcdUeDQM.h.

Referenced by analyze(), and createHistos().

std::vector<MonitorElement*> QcdUeDQM::hNgoodTrk_ [private]

Definition at line 156 of file QcdUeDQM.h.

Referenced by createHistos(), and fillpTMaxRelated().

std::vector<MonitorElement*> QcdUeDQM::hNtrackerLayer_ [private]

Definition at line 149 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

Definition at line 150 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

Definition at line 151 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hNvertices_ [private]

Definition at line 172 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

Definition at line 227 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 253 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 225 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 251 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 226 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 252 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_MaxpTtrack().

Definition at line 234 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 260 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 232 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 258 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 233 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 259 of file QcdUeDQM.h.

Referenced by createHistos(), and fillUE_with_ChargedJets().

Definition at line 163 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

Definition at line 164 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

Definition at line 165 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

Definition at line 166 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hRatioPtErrorPt_ [private]

Definition at line 152 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hTrkChi2_ [private]

Definition at line 167 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hTrkEta_ [private]

Definition at line 154 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hTrkNdof_ [private]

Definition at line 168 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hTrkPhi_ [private]

Definition at line 155 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hTrkPt_ [private]

Definition at line 153 of file QcdUeDQM.h.

Referenced by createHistos(), and trackSelection().

std::vector<MonitorElement*> QcdUeDQM::hVertex_ndof_ [private]

Definition at line 176 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

std::vector<MonitorElement*> QcdUeDQM::hVertex_rho_ [private]

Definition at line 177 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

std::vector<MonitorElement*> QcdUeDQM::hVertex_x_ [private]

Definition at line 175 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

std::vector<MonitorElement*> QcdUeDQM::hVertex_y_ [private]

Definition at line 174 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

std::vector<MonitorElement*> QcdUeDQM::hVertex_z_ [private]

Definition at line 173 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

std::vector<MonitorElement*> QcdUeDQM::hVertex_z_bs_ [private]

Definition at line 178 of file QcdUeDQM.h.

Referenced by createHistos(), and fillVtxPlots().

Definition at line 69 of file QcdUeDQM.h.

Referenced by analyze(), beginLuminosityBlock(), beginRun(), endLuminosityBlock(), endRun(), and QcdUeDQM().

double QcdUeDQM::lip_ [private]

Definition at line 268 of file QcdUeDQM.h.

Referenced by trackSelection().

double QcdUeDQM::maxChi2_ [private]

Definition at line 276 of file QcdUeDQM.h.

Referenced by trackSelection().

double QcdUeDQM::maxRapidity_ [private]

Definition at line 266 of file QcdUeDQM.h.

Referenced by trackSelection().

int QcdUeDQM::min3DHit_ [private]

Definition at line 275 of file QcdUeDQM.h.

Referenced by trackSelection().

int QcdUeDQM::minHit_ [private]

Definition at line 272 of file QcdUeDQM.h.

Referenced by trackSelection().

double QcdUeDQM::minRapidity_ [private]

Definition at line 265 of file QcdUeDQM.h.

Referenced by trackSelection().

double QcdUeDQM::ptErr_pt_ [private]

Definition at line 270 of file QcdUeDQM.h.

Referenced by trackSelection().

double QcdUeDQM::ptMin_ [private]

Definition at line 264 of file QcdUeDQM.h.

Referenced by trackSelection().

double QcdUeDQM::pxlLayerMinCut_ [private]

Definition at line 273 of file QcdUeDQM.h.

Referenced by trackSelection().

Definition at line 285 of file QcdUeDQM.h.

Referenced by QcdUeDQM(), and trackSelection().

Definition at line 144 of file QcdUeDQM.h.

Definition at line 145 of file QcdUeDQM.h.

bool QcdUeDQM::requirePIX1_ [private]

Definition at line 274 of file QcdUeDQM.h.

Referenced by trackSelection().

Definition at line 288 of file QcdUeDQM.h.

Referenced by analyze().

const TrackerGeometry* QcdUeDQM::tgeo_ [private]

Definition at line 142 of file QcdUeDQM.h.

Definition at line 143 of file QcdUeDQM.h.

Referenced by beginJob(), book1D(), book2D(), bookProfile(), and createHistos().

double QcdUeDQM::tip_ [private]

Definition at line 267 of file QcdUeDQM.h.

Referenced by trackSelection().

Definition at line 282 of file QcdUeDQM.h.

Referenced by analyze().

int QcdUeDQM::verbose_ [private]

Definition at line 141 of file QcdUeDQM.h.

Definition at line 289 of file QcdUeDQM.h.

Referenced by analyze(), and fillVtxPlots().

Definition at line 283 of file QcdUeDQM.h.

Referenced by analyze().

double QcdUeDQM::vtxntk_ [private]

Definition at line 271 of file QcdUeDQM.h.