#include <DQMOffline/Trigger/interface/HLTTauTrkDQMOfflineSource.h>
Definition at line 40 of file HLTTauTrkDQMOfflineSource.h.
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 | ( | ) |
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 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 }
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().
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().
Definition at line 56 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), and HLTTauTrkDQMOfflineSource().
Definition at line 55 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), and HLTTauTrkDQMOfflineSource().
Definition at line 75 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), endJob(), and HLTTauTrkDQMOfflineSource().
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().
Definition at line 70 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), and HLTTauTrkDQMOfflineSource().
Definition at line 69 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), and HLTTauTrkDQMOfflineSource().
Definition at line 71 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), and HLTTauTrkDQMOfflineSource().
Definition at line 72 of file HLTTauTrkDQMOfflineSource.h.
Referenced by analyze(), and HLTTauTrkDQMOfflineSource().
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.
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().