5 name_ =
"HLTTauDQMCaloPlotter";
23 edm::LogInfo(
"HLTTauDQMCaloPlotter::HLTTauDQMCaloPlotter") << e.
what() << std::endl;
40 jetEtRes =
store_->
book1D(
"L2TauEtResol",
"L2 #tau E_{t} resolution;L2 selected Jet #phi;entries",40,-2,2);
49 seedHcalEt =
store_->
book1D(
"L2HighestHCALCluster",
"Highest HCAL Cluster;HCAL seed E_{T};entries",40,0,80);
50 seedEcalEt =
store_->
book1D(
"L2HighestECALCluster",
"Highest ECAL Cluster;ECAL seed E_{T};entries",25,0,50);
121 for (
unsigned int i = 0;
i < l2Regional->size(); ++
i ) {
122 l2MergedJets.push_back(l2Regional->at(
i));
134 while (l2MergedJets.size() > 0 ) {
135 l2CleanJets.push_back(l2MergedJets.at(0));
138 for (
unsigned int i = 1;
i < l2MergedJets.size(); ++
i ) {
139 double DR = ROOT::Math::VectorUtil::DeltaR( l2MergedJets.at(0).p4(), l2MergedJets.at(
i).p4() );
140 if ( DR > 0.1 ) tmp.push_back(l2MergedJets.at(
i));
143 l2MergedJets.swap(tmp);
148 std::map<int,LVColl>::const_iterator iref;
149 iref = McInfo.find(15);
153 if ( iref != McInfo.end() ) {
154 for ( LVColl::const_iterator iter = iref->second.begin(); iter != iref->second.end(); ++iter ) {
155 std::pair<bool,reco::CaloJet>
m =
inverseMatch(*iter,l2CleanJets);
163 l2RegionalJets.push_back(m.second);
168 for (
unsigned int i = 0;
i < l2CleanJets.size(); ++
i ) {
176 l2RegionalJets.push_back(jet);
183 if ( gotL2 && l2TauInfoAssoc->size() > 0 ) {
191 std::pair<bool,LV>
m(
false,
LV());
223 if (
matchJet(jet,l2RegionalJets) ) {
255 bool matched =
false;
257 double distance = 100000;
258 for ( reco::CaloJetCollection::const_iterator it = jets.begin(); it != jets.end(); ++it ) {
261 double delta = fabs(jet.pt()-it->pt());
262 if (delta < distance) {
269 std::pair<bool,reco::CaloJet>
p = std::make_pair(matched,mjet);
277 bool matched =
false;
279 for ( reco::CaloJetCollection::const_iterator it = McInfo.begin(); it != McInfo.end(); ++it ) {
280 if ( jet.
p4() == it->p4() ) {
virtual char const * what() const
MonitorElement * isoEtaEffDenom
MonitorElement * hcalClusterDeltaRRMS
T getUntrackedParameter(std::string const &, T const &) const
Jets made from CaloTowers.
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
virtual double et() const
transverse energy
MonitorElement * isoEtaEffNum
Base class for all types of Jets.
std::vector< edm::InputTag > l2preJets_
std::vector< double > hcalClusterShape() const
MonitorElement * preJetEta
MonitorElement * nHcalClusters
MonitorElement * isoEtEffDenom
MonitorElement * ecalClusterEtaRMS
MonitorElement * isoEtEffNum
MonitorElement * seedHcalEt
MonitorElement * recoPhiEffDenom
virtual double eta() const
momentum pseudorapidity
MonitorElement * isoPhiEffNum
MonitorElement * ecalClusterDeltaRRMS
math::XYZTLorentzVectorD LV
MonitorElement * seedEcalEt
HLTTauDQMCaloPlotter(const edm::ParameterSet &, int, int, int, double, bool, double, std::string)
void removeContents(void)
erase all monitoring elements in current directory (not including subfolders);
edm::InputTag l2TauInfoAssoc_
MonitorElement * isoJetEta
double seedEcalHitEt() const
MonitorElement * isoJetEt
MonitorElement * preJetPhi
MonitorElement * isoJetPhi
std::string triggerTagAlias_
MonitorElement * ecalClusterPhiRMS
double ecalIsolEt() const
MonitorElement * recoEtEffDenom
MonitorElement * recoEtaEffNum
void analyze(const edm::Event &, const edm::EventSetup &, const std::map< int, LVColl > &)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * recoPhiEffNum
MonitorElement * recoEtaEffDenom
MonitorElement * isoPhiEffDenom
std::pair< bool, reco::CaloJet > inverseMatch(const LV &, const reco::CaloJetCollection &)
virtual double pt() const
transverse momentum
TH1F * getTH1F(void) const
double hcalIsolEt() const
MonitorElement * preJetEt
std::vector< std::vector< double > > tmp
MonitorElement * hcalClusterEtaRMS
edm::InputTag l2Isolated_
MonitorElement * hcalIsolEt
MonitorElement * jetEtRes
std::pair< bool, LV > match(const LV &, const LVColl &, double)
bool matchJet(const reco::Jet &, const reco::CaloJetCollection &)
std::vector< double > ecalClusterShape() const
virtual double phi() const
momentum azimuthal angle
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
MonitorElement * recoEtEffNum
MonitorElement * ecalIsolEt
void setCurrentFolder(const std::string &fullpath)
MonitorElement * hcalClusterPhiRMS
std::string dqmBaseFolder_
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
MonitorElement * nEcalClusters
double seedHcalHitEt() const