Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Event Shape and UCC HLT offline DQM #12339

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DQMOffline/Trigger/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<use name="DataFormats/METReco"/>
<use name="DataFormats/JetReco"/>
<use name="DataFormats/CaloTowers"/>
<use name="DataFormats/HeavyIonEvent"/>
<use name="CommonTools/Utils"/>
<use name="RecoEcal/EgammaCoreTools"/>
<use name="RecoEgamma/EgammaHLTAlgos"/>
Expand Down
45 changes: 45 additions & 0 deletions DQMOffline/Trigger/interface/EventShapeDQM.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#ifndef EventShapeDQM_H
#define EventShapeDQM_H
//event
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"

//DQM
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/MonitorElement.h"

//EP
#include "DataFormats/HeavyIonEvent/interface/EvtPlane.h"

// Trigger
#include "DataFormats/Common/interface/TriggerResults.h"
#include "DataFormats/HLTReco/interface/TriggerObject.h"
#include "DataFormats/HLTReco/interface/TriggerEvent.h"
#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"

class EventShapeDQM: public DQMEDAnalyzer{
public:
EventShapeDQM(const edm::ParameterSet& ps);
virtual ~EventShapeDQM();

protected:
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
void analyze(edm::Event const& e, edm::EventSetup const& eSetup);

private:
edm::EDGetTokenT<edm::TriggerResults> triggerResults_;
edm::EDGetTokenT<reco::EvtPlaneCollection> theEPCollection_;

std::string triggerPath_;
int order_;
int EPidx_;
int EPlvl_;

// histo
MonitorElement* h_Q;
};

#endif
54 changes: 54 additions & 0 deletions DQMOffline/Trigger/interface/HeavyIonUCCDQM.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#ifndef HeavyIonUCCDQM_H
#define HeavyIonUCCDQM_H
//event
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"

//DQM
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/MonitorElement.h"

//CaloMET
#include "DataFormats/METReco/interface/CaloMET.h"
#include "DataFormats/METReco/interface/CaloMETCollection.h"
//SiPixelClusters
#include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"

// Trigger
#include "DataFormats/Common/interface/TriggerResults.h"
#include "DataFormats/HLTReco/interface/TriggerObject.h"
#include "DataFormats/HLTReco/interface/TriggerEvent.h"
#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"

class HeavyIonUCCDQM: public DQMEDAnalyzer{
public:
HeavyIonUCCDQM(const edm::ParameterSet& ps);
virtual ~HeavyIonUCCDQM();

protected:
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
void analyze(edm::Event const& e, edm::EventSetup const& eSetup);

private:
edm::EDGetTokenT<edm::TriggerResults> triggerResults_;
edm::EDGetTokenT<reco::CaloMETCollection> theCaloMet;
edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > theSiPixelCluster;

std::string triggerPath_;

int nClusters;
int minClusters;
int maxClusters;
int nEt;
double minEt;
double maxEt;

// histo
MonitorElement* h_SumEt;
MonitorElement* h_SiPixelClusters;
};

#endif
8 changes: 8 additions & 0 deletions DQMOffline/Trigger/python/DQMOffline_Trigger_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@
#hotline
from DQMOffline.Trigger.hotlineDQM_cfi import *

#eventshape
from DQMOffline.Trigger.eventshapeDQM_cfi import *

#UCC
from DQMOffline.Trigger.heavyionUCCDQM_cfi import *

import DQMServices.Components.DQMEnvironment_cfi
dqmEnvHLT= DQMServices.Components.DQMEnvironment_cfi.dqmEnv.clone()
dqmEnvHLT.subSystemFolder = 'HLT'
Expand All @@ -53,6 +59,8 @@
higPhotonJetHLTOfflineSource*
dqmEnvHLT *
topHLTriggerOfflineDQM *
eventshapeDQMSequence *
HeavyIonUCCDQMSequence *
hotlineDQMSequence
)

Expand Down
113 changes: 113 additions & 0 deletions DQMOffline/Trigger/python/eventshapeDQM_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
import FWCore.ParameterSet.Config as cms

eventshapeDQM_Q2_top05_cent1030 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Top005_L1Centrality1030_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_bottom05_cent1030 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Bottom005_L1Centrality1030_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_top05_cent3050 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Top005_L1Centrality3050_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_bottom05_cent3050 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Bottom005_L1Centrality3050_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_top05_cent5070 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Top005_L1Centrality5070_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_bottom05_cent5070 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Bottom005_L1Centrality5070_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_top10_cent1030 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Top010_L1Centrality1030_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_bottom10_cent1030 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Bottom010_L1Centrality1030_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_top10_cent3050 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Top010_L1Centrality3050_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_bottom10_cent3050 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Bottom010_L1Centrality3050_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_top10_cent5070 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Top010_L1Centrality5070_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)

eventshapeDQM_Q2_bottom10_cent5070 = cms.EDAnalyzer('EventShapeDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
EPlabel = cms.InputTag("hltEvtPlaneProducer"),
triggerPath = cms.string('HLT_Q2Bottom010_L1Centrality5070_v'),
order = cms.int32(2),
EPidx = cms.int32(8), #HF2
EPlvl = cms.int32(0)
)



eventshapeDQMSequence = cms.Sequence(eventshapeDQM_Q2_top05_cent1030 * eventshapeDQM_Q2_bottom05_cent1030 * eventshapeDQM_Q2_top05_cent3050 * eventshapeDQM_Q2_bottom05_cent3050 * eventshapeDQM_Q2_top05_cent5070 * eventshapeDQM_Q2_bottom05_cent5070 * eventshapeDQM_Q2_top10_cent1030 * eventshapeDQM_Q2_bottom10_cent1030 * eventshapeDQM_Q2_top10_cent3050 * eventshapeDQM_Q2_bottom10_cent3050 * eventshapeDQM_Q2_top10_cent5070 * eventshapeDQM_Q2_bottom10_cent5070)
31 changes: 31 additions & 0 deletions DQMOffline/Trigger/python/heavyionUCCDQM_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import FWCore.ParameterSet.Config as cms

heavyionUCCDQM_HIUCC100 = cms.EDAnalyzer('HeavyIonUCCDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
caloMet = cms.InputTag('hltMetForHf'),
pixelCluster = cms.InputTag('hltHISiPixelClusters'),
triggerPath = cms.string('HLT_HIUCC100_v'),
nClusters = cms.int32(100),
minClusters = cms.int32(50000),
maxClusters = cms.int32(100000),
nEt = cms.int32(100),
minEt = cms.double(4000),
maxEt = cms.double(8000)
)

heavyionUCCDQM_HIUCC020 = cms.EDAnalyzer('HeavyIonUCCDQM',
triggerResults = cms.InputTag('TriggerResults','','HLT'),
caloMet = cms.InputTag('hltMetForHf'),
pixelCluster = cms.InputTag('hltHISiPixelClusters'),
triggerPath = cms.string('HLT_HIUCC020_v'),
nClusters = cms.int32(100),
minClusters = cms.int32(50000),
maxClusters = cms.int32(100000),
nEt = cms.int32(100),
minEt = cms.double(4000),
maxEt = cms.double(8000)
)



HeavyIonUCCDQMSequence = cms.Sequence(heavyionUCCDQM_HIUCC100 * heavyionUCCDQM_HIUCC020)
66 changes: 66 additions & 0 deletions DQMOffline/Trigger/src/EventShapeDQM.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Common/interface/TriggerNames.h"
#include "DataFormats/HLTReco/interface/TriggerObject.h"
#include "DQMOffline/Trigger/interface/EventShapeDQM.h"

EventShapeDQM::EventShapeDQM(const edm::ParameterSet& ps)
{
triggerResults_ = consumes<edm::TriggerResults>(ps.getParameter<edm::InputTag>("triggerResults"));
theEPCollection_ = consumes<reco::EvtPlaneCollection>(ps.getParameter<edm::InputTag>("EPlabel"));
triggerPath_ = ps.getParameter<std::string>("triggerPath");

order_ = ps.getParameter<int>("order");
EPidx_ = ps.getParameter<int>("EPidx");
EPlvl_ = ps.getParameter<int>("EPlvl");
}

EventShapeDQM::~EventShapeDQM()
{

}


void EventShapeDQM::bookHistograms(DQMStore::IBooker & ibooker_, edm::Run const &, edm::EventSetup const &)
{
ibooker_.cd();;
ibooker_.setCurrentFolder("HLT/HI/" + triggerPath_);

h_Q = ibooker_.book1D("hQn", Form("Q%i;Q%i", order_, order_), 500, 0, 0.5);

ibooker_.cd();
}

void EventShapeDQM::analyze(edm::Event const& e, edm::EventSetup const& eSetup)
{

edm::Handle<edm::TriggerResults> hltresults;
e.getByToken(triggerResults_,hltresults);
if(!hltresults.isValid())
{
return;
}

bool hasFired = false;
const edm::TriggerNames& trigNames = e.triggerNames(*hltresults);
unsigned int numTriggers = trigNames.size();
for( unsigned int hltIndex=0; hltIndex<numTriggers; ++hltIndex ) {
if (trigNames.triggerName(hltIndex).find(triggerPath_) != std::string::npos && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex)){
hasFired = true;
}
}

edm::Handle<reco::EvtPlaneCollection> ep_;
e.getByToken(theEPCollection_, ep_);
if ( !ep_.isValid() ) {
return;
}

if ( hasFired ) {
h_Q->Fill( (*ep_)[EPidx_].vn(EPlvl_) );
}

}

DEFINE_FWK_MODULE(EventShapeDQM);
Loading