CMS 3D CMS Logo

HLTTauTrkDQMOfflineSource Class Reference

#include <DQMOffline/Trigger/interface/HLTTauTrkDQMOfflineSource.h>

Inheritance diagram for HLTTauTrkDQMOfflineSource:

edm::EDAnalyzer

List of all members.

Public Member Functions

 HLTTauTrkDQMOfflineSource (const edm::ParameterSet &)
 ~HLTTauTrkDQMOfflineSource ()

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob (const edm::EventSetup &)
virtual void endJob ()
bool match (const LV &recoJet, const LVColl &matchingObject)
bool matchJet (const reco::Jet &, const reco::CaloJetCollection &)

Private Attributes

edm::InputTag caloJets_
double EtMax_
double EtMin_
edm::InputTag isolJets_
MonitorElementjetEt
MonitorElementjetEta
edm::InputTag jetMCTagSrc_
edm::InputTag jetTagSrc_
MonitorElementl25IsoJetEt
MonitorElementl25IsoJetEta
bool match_
float mcMatch_
float minPtIsoRing_
int NBins_
MonitorElementnL25Jets
MonitorElementnL2EcalIsoJets
MonitorElementnPxlTrksInL25Jet
MonitorElementnQPxlTrksInL25Jet
int nTracksInIsolationRing_
std::string outFile_
float ptLeadTk_
float rIso_
float rMatch_
float rSig_
MonitorElementsignalLeadTrkPt
DQMStorestore
std::string tT_
std::string type_


Detailed Description

Definition at line 40 of file HLTTauTrkDQMOfflineSource.h.


Constructor & Destructor Documentation

HLTTauTrkDQMOfflineSource::HLTTauTrkDQMOfflineSource ( const edm::ParameterSet iConfig  )  [explicit]

Definition at line 7 of file HLTTauTrkDQMOfflineSource.cc.

References DQMStore::book1D(), caloJets_, EtMax_, EtMin_, edm::ParameterSet::getParameter(), isolJets_, jetEt, jetEta, jetMCTagSrc_, jetTagSrc_, l25IsoJetEt, l25IsoJetEta, match_, mcMatch_, NBins_, nL25Jets, nL2EcalIsoJets, nPxlTrksInL25Jet, nQPxlTrksInL25Jet, outFile_, DQMStore::setCurrentFolder(), signalLeadTrkPt, store, tT_, and type_.

00007                                                                                   {
00008    jetTagSrc_ = iConfig.getParameter<edm::InputTag>("ConeIsolation");
00009    jetMCTagSrc_ = iConfig.getParameter<edm::InputTag>("refCollection");
00010    caloJets_ = iConfig.getParameter<edm::InputTag>("InputJets");
00011    isolJets_ = iConfig.getParameter<edm::InputTag>("IsolatedJets");
00012    mcMatch_ = iConfig.getParameter<double>("MatchDeltaR");
00013    match_ = iConfig.getParameter<bool>("doReference");
00014    tT_ = iConfig.getParameter<std::string>("DQMFolder");
00015    type_ = iConfig.getParameter<std::string>("Type");
00016    outFile_ = iConfig.getParameter<std::string>("OutputFileName");
00017    EtMin_ = (iConfig.getParameter<double>("EtMin"));
00018    EtMax_ = (iConfig.getParameter<double>("EtMax"));
00019    NBins_ = (iConfig.getParameter<int>("NBins"));
00020 
00021     store = &*edm::Service<DQMStore>();
00022   
00023    if(store){           //Create the histograms
00024       
00025       store->setCurrentFolder(tT_);
00026       jetEt = store->book1D((type_+"jetEt").c_str(), "jetEt",NBins_,EtMin_,EtMax_);
00027       jetEta = store->book1D((type_+"jetEta").c_str(), "jetEta", 50, -2.5, 2.5);
00028       nL2EcalIsoJets = store->book1D((type_+"nL2EcalIsoJets").c_str(), "nInputJets", 10, 0, 10);
00029       nL25Jets = store->book1D((type_+"nL25Jets").c_str(), "nIsoJets", 10, 0, 10);
00030       nPxlTrksInL25Jet = store->book1D((type_+"nTrksInJet").c_str(), "nPxlTrksInJet", 30, 0, 30);
00031       nQPxlTrksInL25Jet = store->book1D((type_+"nQTrksInJet").c_str(),"nQTrksInJet", 15, 0, 15);
00032       signalLeadTrkPt = store->book1D((type_+"signalLeadTrkPt").c_str(), "signalLeadTrkPt", 75, 0, 150);
00033       l25IsoJetEt = store->book1D((type_+"IsoJetEt").c_str(), "IsoJetEt", NBins_, EtMin_,EtMax_);
00034       l25IsoJetEta = store->book1D((type_+"IsoJetEta").c_str(), "IsoJetEta", 50, -2.5, 2.5);
00035 
00036    }
00037 }

HLTTauTrkDQMOfflineSource::~HLTTauTrkDQMOfflineSource (  ) 

Definition at line 40 of file HLTTauTrkDQMOfflineSource.cc.

00040                                                      {
00041 }


Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 46 of file HLTTauTrkDQMOfflineSource.cc.

References caloJets_, MonitorElement::Fill(), edm::Event::getByLabel(), isolJets_, jetEt, jetEta, jetMCTagSrc_, jetTagSrc_, l25IsoJetEt, l25IsoJetEta, match(), match_, matchJet(), nL25Jets, nL2EcalIsoJets, nPxlTrksInL25Jet, nQPxlTrksInL25Jet, HcalSimpleRecAlgoImpl::reco(), and signalLeadTrkPt.

00046                                                                                      {
00047    using namespace edm;
00048    using namespace reco;
00049    
00050    Handle<IsolatedTauTagInfoCollection> tauTagInfoHandle;
00051    if(iEvent.getByLabel(jetTagSrc_, tauTagInfoHandle))
00052      {
00053    
00054        Handle<LVColl> mcInfo;                                                    
00055        if(match_){                                                               
00056          iEvent.getByLabel(jetMCTagSrc_, mcInfo);                                
00057        }                                                                         
00058 
00059        Handle<CaloJetCollection> isolJets;                         
00060 
00061        Handle<CaloJetCollection> caloJetHandle;                    
00062        if(iEvent.getByLabel(caloJets_, caloJetHandle))
00063          {         
00064            const CaloJetCollection & caloJets = *(caloJetHandle.product());
00065            bool l2Match = 0;    
00066            unsigned int cjIt;
00067            for(cjIt = 0; cjIt != caloJets.size(); ++cjIt){
00068              LV lVL2Calo = caloJets[cjIt].p4();
00069              if(match_ )l2Match = match(lVL2Calo, *mcInfo);
00070              else l2Match = 1;
00071       
00072              bool l25Match = 0;
00073              if(&(*tauTagInfoHandle)){
00074                const IsolatedTauTagInfoCollection & tauTagInfoColl = *(tauTagInfoHandle.product());
00075                IsolatedTauTagInfo tauTagInfo = tauTagInfoColl[cjIt];        
00076                LV theJet(tauTagInfo.jet()->px(), tauTagInfo.jet()->py(),
00077                      tauTagInfo.jet()->pz(),tauTagInfo.jet()->energy());                         
00078                                                                                                                  
00079                if(match_)l25Match = match(theJet, *mcInfo);                                                      
00080                else l25Match = 1;                                                                                                        
00081            
00082                if(l2Match&&l25Match){
00083                  jetEt->Fill(theJet.Et());                                                                               
00084                  jetEta->Fill(theJet.Eta());                                                                     
00085                  nL2EcalIsoJets->Fill(caloJets.size());
00086                  nL25Jets->Fill(tauTagInfoColl.size());                                                                                          
00087                  nPxlTrksInL25Jet->Fill(tauTagInfo.allTracks().size());                                                             
00088                  nQPxlTrksInL25Jet->Fill(tauTagInfo.selectedTracks().size());                                                       
00089                 
00090                  const TrackRef leadTrk = tauTagInfo.leadingSignalTrack();
00091                  if(!leadTrk) ;
00092                  else{
00093                
00094                    signalLeadTrkPt->Fill(leadTrk->pt());                                 
00095   
00096 
00097                   if(iEvent.getByLabel(isolJets_, isolJets))
00098                     if(matchJet(*tauTagInfo.jet(),*isolJets))
00099                       {
00100                         l25IsoJetEta->Fill(theJet.Eta());
00101                         l25IsoJetEt->Fill(theJet.Et());
00102                       }
00103                  }
00104                }
00105              }
00106          
00107            }
00108          }
00109      }          
00110 }                                                                                                     

void HLTTauTrkDQMOfflineSource::beginJob ( const edm::EventSetup  )  [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 114 of file HLTTauTrkDQMOfflineSource.cc.

00114                                                             {
00115 
00116 }

void HLTTauTrkDQMOfflineSource::endJob ( void   )  [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 119 of file HLTTauTrkDQMOfflineSource.cc.

References MonitorElement::getTH1F(), jetEt, jetEta, l25IsoJetEt, l25IsoJetEta, outFile_, DQMStore::save(), and store.

00119                                        {
00120    // Get the efficiency plots
00121 
00122      l25IsoJetEta->getTH1F()->Sumw2();
00123    jetEta->getTH1F()->Sumw2();
00124    
00125     l25IsoJetEt->getTH1F()->Sumw2();
00126     jetEt->getTH1F()->Sumw2();
00127 
00128       
00129    //Write file
00130    if(outFile_.size()>0 &&(store))  store->save (outFile_);
00131 
00132 }

bool HLTTauTrkDQMOfflineSource::match ( const LV recoJet,
const LVColl matchingObject 
) [private]

Definition at line 134 of file HLTTauTrkDQMOfflineSource.cc.

References deltaR(), and mcMatch_.

Referenced by analyze().

00134                                                                                 {
00135    bool matched = 0;
00136    if(matchingObject.size() !=0 ){
00137       std::vector<LV>::const_iterator lvIt = matchingObject.begin();
00138       for(;lvIt != matchingObject.end(); ++lvIt){
00139          double deltaR = ROOT::Math::VectorUtil::DeltaR(jet, *lvIt);
00140          if(deltaR < mcMatch_) matched = 1;
00141       }
00142    } 
00143    return matched;
00144 }

bool HLTTauTrkDQMOfflineSource::matchJet ( const reco::Jet jet,
const reco::CaloJetCollection McInfo 
) [private]

Definition at line 147 of file HLTTauTrkDQMOfflineSource.cc.

References it, mcMatch_, and reco::Particle::p4().

Referenced by analyze().

00148 {
00149 
00150   //Loop On the Collection and see if your tau jet is matched to one there
00151  //Also find the nearest Matched MC Particle to your Jet (to be complete)
00152  
00153  bool matched=false;
00154 
00155  if(McInfo.size()>0)
00156   for(reco::CaloJetCollection::const_iterator it = McInfo.begin();it!=McInfo.end();++it)
00157    {
00158           double delta = ROOT::Math::VectorUtil::DeltaR(jet.p4().Vect(),it->p4().Vect());
00159           if(delta<mcMatch_)
00160             {
00161               matched=true;
00162              
00163             }
00164    }
00165 
00166 
00167 
00168  return matched;
00169 }


Member Data Documentation

edm::InputTag HLTTauTrkDQMOfflineSource::caloJets_ [private]

Definition at line 57 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

double HLTTauTrkDQMOfflineSource::EtMax_ [private]

Definition at line 92 of file HLTTauTrkDQMOfflineSource.h.

Referenced by HLTTauTrkDQMOfflineSource().

double HLTTauTrkDQMOfflineSource::EtMin_ [private]

Definition at line 91 of file HLTTauTrkDQMOfflineSource.h.

Referenced by HLTTauTrkDQMOfflineSource().

edm::InputTag HLTTauTrkDQMOfflineSource::isolJets_ [private]

Definition at line 58 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::jetEt [private]

Definition at line 67 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), endJob(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::jetEta [private]

Definition at line 68 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), endJob(), and HLTTauTrkDQMOfflineSource().

edm::InputTag HLTTauTrkDQMOfflineSource::jetMCTagSrc_ [private]

Definition at line 56 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

edm::InputTag HLTTauTrkDQMOfflineSource::jetTagSrc_ [private]

Definition at line 55 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::l25IsoJetEt [private]

Definition at line 75 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), endJob(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::l25IsoJetEta [private]

Definition at line 74 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), endJob(), and HLTTauTrkDQMOfflineSource().

bool HLTTauTrkDQMOfflineSource::match_ [private]

Definition at line 89 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

float HLTTauTrkDQMOfflineSource::mcMatch_ [private]

Definition at line 88 of file HLTTauTrkDQMOfflineSource.h.

Referenced by HLTTauTrkDQMOfflineSource(), match(), and matchJet().

float HLTTauTrkDQMOfflineSource::minPtIsoRing_ [private]

Definition at line 86 of file HLTTauTrkDQMOfflineSource.h.

int HLTTauTrkDQMOfflineSource::NBins_ [private]

Definition at line 93 of file HLTTauTrkDQMOfflineSource.h.

Referenced by HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::nL25Jets [private]

Definition at line 70 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::nL2EcalIsoJets [private]

Definition at line 69 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::nPxlTrksInL25Jet [private]

Definition at line 71 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

MonitorElement* HLTTauTrkDQMOfflineSource::nQPxlTrksInL25Jet [private]

Definition at line 72 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

int HLTTauTrkDQMOfflineSource::nTracksInIsolationRing_ [private]

Definition at line 82 of file HLTTauTrkDQMOfflineSource.h.

std::string HLTTauTrkDQMOfflineSource::outFile_ [private]

Definition at line 64 of file HLTTauTrkDQMOfflineSource.h.

Referenced by endJob(), and HLTTauTrkDQMOfflineSource().

float HLTTauTrkDQMOfflineSource::ptLeadTk_ [private]

Definition at line 87 of file HLTTauTrkDQMOfflineSource.h.

float HLTTauTrkDQMOfflineSource::rIso_ [private]

Definition at line 85 of file HLTTauTrkDQMOfflineSource.h.

float HLTTauTrkDQMOfflineSource::rMatch_ [private]

Definition at line 83 of file HLTTauTrkDQMOfflineSource.h.

float HLTTauTrkDQMOfflineSource::rSig_ [private]

Definition at line 84 of file HLTTauTrkDQMOfflineSource.h.

MonitorElement* HLTTauTrkDQMOfflineSource::signalLeadTrkPt [private]

Definition at line 73 of file HLTTauTrkDQMOfflineSource.h.

Referenced by analyze(), and HLTTauTrkDQMOfflineSource().

DQMStore* HLTTauTrkDQMOfflineSource::store [private]

Definition at line 80 of file HLTTauTrkDQMOfflineSource.h.

Referenced by endJob(), and HLTTauTrkDQMOfflineSource().

std::string HLTTauTrkDQMOfflineSource::tT_ [private]

Definition at line 61 of file HLTTauTrkDQMOfflineSource.h.

Referenced by HLTTauTrkDQMOfflineSource().

std::string HLTTauTrkDQMOfflineSource::type_ [private]

Definition at line 62 of file HLTTauTrkDQMOfflineSource.h.

Referenced by HLTTauTrkDQMOfflineSource().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:24:44 2009 for CMSSW by  doxygen 1.5.4