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

Splitted HT category into CaloHT and PFHT categories. #11150

Merged
merged 1 commit into from Sep 15, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions HLTriggerOffline/Exotica/interface/HLTExoticaSubAnalysis.h
Expand Up @@ -174,6 +174,7 @@ class HLTExoticaSubAnalysis {
StringCutObjectSelector<reco::PFMET> * _recPFMHTSelector;
StringCutObjectSelector<reco::GenMET> * _genMETSelector;
StringCutObjectSelector<reco::CaloMET> * _recCaloMETSelector;
StringCutObjectSelector<reco::CaloMET> * _recCaloMHTSelector;
StringCutObjectSelector<l1extra::L1EtMissParticle> * _l1METSelector;
StringCutObjectSelector<reco::PFTau> * _recPFTauSelector;
StringCutObjectSelector<reco::Photon> * _recPhotonSelector;
Expand Down
12 changes: 11 additions & 1 deletion HLTriggerOffline/Exotica/python/ExoticaValidation_cff.py
Expand Up @@ -42,8 +42,18 @@
excludePFMuons = cms.bool( True )
)

recoExoticaValidationCaloHT = cms.EDProducer(
"CaloMETProducer",
src = cms.InputTag("ak4CaloJets"),
noHF = cms.bool( True ),
alias = cms.string('CaloMHT'),
globalThreshold = cms.double(30.0),
calculateSignificance = cms.bool( False ),
jets = cms.InputTag("ak4CaloJets") # for significance calculation
)

ExoticaValidationProdSeq = cms.Sequence(
recoExoticaValidationHT + recoExoticaValidationMETNoMu + recoExoticaValidationMHTNoMu
recoExoticaValidationHT + recoExoticaValidationMETNoMu + recoExoticaValidationMHTNoMu + recoExoticaValidationCaloHT
)

ExoticaValidationSequence = cms.Sequence(
Expand Down
26 changes: 26 additions & 0 deletions HLTriggerOffline/Exotica/python/analyses/hltExoticaCaloHT_cff.py
@@ -0,0 +1,26 @@
import FWCore.ParameterSet.Config as cms

CaloHTPSet = cms.PSet(
hltPathsToCheck = cms.vstring(
"HLT_HT900_v", # Run2
"HLT_HT300_v", # Run2
"HLT_ECALHT800_v", # Run2 7e33
"HLT_Photon90_CaloIdL_PFHT600_v" # 50ns backup menu
"HLT_HT650_v",
"HLT_HT450to470_v", # HT Parking
"HLT_HT470to500_v", # HT Parking
"HLT_HT500to550_v", # HT Parking
"HLT_HT550to650_v", # HT Parking
"DST_HT250_CaloScouting_v", # scouting
"DST_CaloJet40_CaloScouting_v",
"DST_L1HT_CaloScouting_v"
),
recCaloMHTLabel = cms.InputTag("recoExoticaValidationCaloHT"),
recCaloJetLabel = cms.InputTag("ak4CaloJets"),
# -- Analysis specific cuts
minCandidates = cms.uint32(1),
# -- Analysis specific binnings
parametersTurnOn = cms.vdouble(0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 470,
500, 550, 600, 650, 700, 800, 900, 1000
)
)
@@ -1,32 +1,24 @@
import FWCore.ParameterSet.Config as cms

HTPSet = cms.PSet(
PFHTPSet = cms.PSet(
hltPathsToCheck = cms.vstring(
"HLT_PFHT650_WideJetMJJ900DEtaJJ1p5_v",
"HLT_PFHT650_WideJetMJJ950DEtaJJ1p5_v",
#"HLT_PFHT750_4Jet_v", # Run2
"HLT_PFHT750_4Jet_v",
"HLT_PFHT750_4JetPt50_v",
"HLT_PFHT650_4Jet_v", # Run2
"HLT_PFHT550_4Jet_v", # Run2
#"HLT_PFHT900_v", # Run2
"HLT_PFHT800_v",
"HLT_PFHT650_v",
"HLT_HT900_v", # Run2
"HLT_HT300_v", # Run2
"HLT_HT450to470_v", # HT Parking
"HLT_HT470to500_v", # HT Parking
"HLT_HT500to550_v", # HT Parking
"HLT_HT550to650_v", # HT Parking
"HLT_HT650_v", # HT Parking
"HLT_ECALHT800_v", # Run2 7e33
"HLT_Photon90_CaloIdL_PFHT600_v" # 50ns backup menu
#"HLT_HT750_v" # Run1 (frozenHLT)
"DST_HT450_PFScouting_v",
"DST_L1HT_PFScouting_v",
"DST_CaloJet40_PFScouting_v"
),
recPFMHTLabel = cms.InputTag("recoExoticaValidationHT"),
recPFJetLabel = cms.InputTag("ak4PFJets"),
# -- Analysis specific cuts
MET_genCut = cms.string("sumEt > 75"),
MET_recCut = cms.string("sumEt > 75"),
#MET_genCut = cms.string("sumEt > 75"),
#MET_recCut = cms.string("sumEt > 75"),
minCandidates = cms.uint32(1),
# -- Analysis specific binnings
parametersTurnOn = cms.vdouble(0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 470,
Expand Down
15 changes: 10 additions & 5 deletions HLTriggerOffline/Exotica/python/hltExoticaPostProcessors_cff.py
Expand Up @@ -71,7 +71,7 @@ def add_reco_strings(strings):
#--- IMPORTANT: Update this collection whenever you introduce a new object
# in the code (from EVTColContainer::getTypeString)
obj_types = ["Mu","refittedStandAloneMuons","Track","Ele","Photon","PFTau","PFJet","MET","PFMET","PFMHT","GenMET","CaloJet"
,"CaloMET","l1MET"]
,"CaloMET","CaloMHT","l1MET"]
#--- IMPORTANT: Trigger are extracted from the hltExoticaValidator_cfi.py module
triggers = [ ]
efficiency_strings = []
Expand Down Expand Up @@ -138,9 +138,13 @@ def add_reco_strings(strings):
hltExoticaPostSingleMuon.subDirs = ['HLT/Exotica/SingleMuon']
hltExoticaPostSingleMuon.efficiencyProfile = efficiency_strings

hltExoticaPostHT = hltExoticaPostProcessor.clone()
hltExoticaPostHT.subDirs = ['HLT/Exotica/HT']
hltExoticaPostHT.efficiencyProfile = efficiency_strings
hltExoticaPostPFHT = hltExoticaPostProcessor.clone()
hltExoticaPostPFHT.subDirs = ['HLT/Exotica/PFHT']
hltExoticaPostPFHT.efficiencyProfile = efficiency_strings

hltExoticaPostCaloHT = hltExoticaPostProcessor.clone()
hltExoticaPostCaloHT.subDirs = ['HLT/Exotica/CaloHT']
hltExoticaPostCaloHT.efficiencyProfile = efficiency_strings

hltExoticaPostJetNoBptx = hltExoticaPostProcessor.clone()
hltExoticaPostJetNoBptx.subDirs = ['HLT/Exotica/JetNoBptx']
Expand Down Expand Up @@ -209,7 +213,8 @@ def add_reco_strings(strings):
hltExoticaPostHighPtPhoton +
hltExoticaPostDiPhoton +
# HT path
hltExoticaPostHT +
hltExoticaPostPFHT +
hltExoticaPostCaloHT +
# NoBptx paths
hltExoticaPostJetNoBptx +
hltExoticaPostMuonNoBptx +
Expand Down
12 changes: 9 additions & 3 deletions HLTriggerOffline/Exotica/python/hltExoticaValidator_cfi.py
Expand Up @@ -23,7 +23,8 @@
#from HLTriggerOffline.Exotica.analyses.hltExoticaLowPtElectron_cff import LowPtElectronPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaHighPtPhoton_cff import HighPtPhotonPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaDiPhoton_cff import DiPhotonPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaHT_cff import HTPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaPFHT_cff import PFHTPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaCaloHT_cff import CaloHTPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaJetNoBptx_cff import JetNoBptxPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaMuonNoBptx_cff import MuonNoBptxPSet
from HLTriggerOffline.Exotica.analyses.hltExoticaDisplacedMuEG_cff import DisplacedMuEGPSet
Expand Down Expand Up @@ -62,7 +63,8 @@
"SingleMuon",
"JetNoBptx",
"MuonNoBptx",
"HT",
"PFHT",
"CaloHT",
"DisplacedMuEG",
"DisplacedMuJet",
"DisplacedDimuon",
Expand Down Expand Up @@ -178,6 +180,9 @@
CaloMET_genCut = cms.string("pt > 75"),
CaloMET_recCut = cms.string("pt > 75"),

CaloMHT_genCut = cms.string("pt > 75"),
CaloMHT_recCut = cms.string("pt > 75"),

hltMET_genCut = cms.string("pt > 75"),
hltMET_recCut = cms.string("pt > 75"),

Expand Down Expand Up @@ -219,7 +224,8 @@
METplusTrack = METplusTrackPSet,
Monojet = MonojetPSet,
MonojetBackup = MonojetBackupPSet,
HT = HTPSet,
PFHT = PFHTPSet,
CaloHT = CaloHTPSet,
#DisplacedDimuonDijet = DisplacedDimuonDijetPSet,
EleMu = EleMuPSet,
PhotonMET = PhotonMETPSet,
Expand Down
13 changes: 13 additions & 0 deletions HLTriggerOffline/Exotica/src/EVTColContainer.cc
Expand Up @@ -59,6 +59,7 @@ struct EVTColContainer {
L1MET = 390004,
PFJET = 211,
CALOJET = 111,
CALOMHT = 400002,
_nMAX
};

Expand All @@ -75,6 +76,7 @@ struct EVTColContainer {
const std::vector<reco::PFMET> * pfMHTs;
const std::vector<reco::GenMET> * genMETs;
const std::vector<reco::CaloMET> * caloMETs;
const std::vector<reco::CaloMET> * caloMHTs;
const std::vector<l1extra::L1EtMissParticle> * l1METs;
const std::vector<reco::PFTau> * pfTaus;
const std::vector<reco::PFJet> * pfJets;
Expand All @@ -95,6 +97,7 @@ struct EVTColContainer {
pfMHTs(0),
genMETs(0),
caloMETs(0),
caloMHTs(0),
l1METs(0),
pfTaus(0),
pfJets(0),
Expand Down Expand Up @@ -128,6 +131,7 @@ struct EVTColContainer {
pfMHTs = 0;
genMETs = 0;
caloMETs = 0;
caloMHTs = 0;
l1METs = 0;
pfTaus = 0;
pfJets = 0;
Expand Down Expand Up @@ -182,6 +186,11 @@ struct EVTColContainer {
caloMETs = v;
++nInitialized;
}
void setCaloMHT(const reco::CaloMETCollection * v)
{
caloMHTs = v;
++nInitialized;
}
void set(const l1extra::L1EtMissParticleCollection * v)
{
l1METs = v;
Expand Down Expand Up @@ -227,6 +236,8 @@ struct EVTColContainer {
size = genMETs->size();
} else if (objtype == EVTColContainer::CALOMET && caloMETs != 0) {
size = caloMETs->size();
} else if (objtype == EVTColContainer::CALOMHT && caloMHTs != 0) {
size = caloMHTs->size();
} else if (objtype == EVTColContainer::L1MET && l1METs != 0) {
size = l1METs->size();
} else if (objtype == EVTColContainer::PFTAU && pfTaus != 0) {
Expand Down Expand Up @@ -265,6 +276,8 @@ struct EVTColContainer {
objTypestr = "GenMET";
} else if (objtype == EVTColContainer::CALOMET) {
objTypestr = "CaloMET";
} else if (objtype == EVTColContainer::CALOMHT) {
objTypestr = "CaloMHT";
} else if (objtype == EVTColContainer::L1MET) {
objTypestr = "l1MET";
} else if (objtype == EVTColContainer::PFTAU) {
Expand Down
31 changes: 30 additions & 1 deletion HLTriggerOffline/Exotica/src/HLTExoticaSubAnalysis.cc
Expand Up @@ -51,6 +51,7 @@ HLTExoticaSubAnalysis::HLTExoticaSubAnalysis(const edm::ParameterSet & pset,
_recPFMHTSelector(0),
_genMETSelector(0),
_recCaloMETSelector(0),
_recCaloMHTSelector(0),
_l1METSelector(0),
_recPFTauSelector(0),
_recPhotonSelector(0),
Expand Down Expand Up @@ -175,6 +176,8 @@ HLTExoticaSubAnalysis::~HLTExoticaSubAnalysis()
_genMETSelector = 0;
delete _recCaloMETSelector;
_recCaloMETSelector = 0;
delete _recCaloMHTSelector;
_recCaloMHTSelector = 0;
delete _l1METSelector;
_l1METSelector = 0;
delete _recPFTauSelector;
Expand Down Expand Up @@ -730,7 +733,7 @@ const std::vector<unsigned int> HLTExoticaSubAnalysis::getObjectsType(const std:
{
LogDebug("ExoticaValidation") << "In HLTExoticaSubAnalysis::getObjectsType()";

static const unsigned int objSize = 14;
static const unsigned int objSize = 15;
static const unsigned int objtriggernames[] = {
EVTColContainer::MUON,
EVTColContainer::MUTRK,
Expand All @@ -742,6 +745,7 @@ const std::vector<unsigned int> HLTExoticaSubAnalysis::getObjectsType(const std:
EVTColContainer::PFMHT,
EVTColContainer::GENMET,
EVTColContainer::CALOMET,
EVTColContainer::CALOMHT,
EVTColContainer::L1MET,
EVTColContainer::PFTAU,
EVTColContainer::PFJET,
Expand Down Expand Up @@ -809,6 +813,10 @@ void HLTExoticaSubAnalysis::getNamesOfObjects(const edm::ParameterSet & anpset)
_recLabels[EVTColContainer::CALOMET] = anpset.getParameter<edm::InputTag>("recCaloMETLabel");
_genSelectorMap[EVTColContainer::CALOMET] = 0 ;
}
if (anpset.exists("recCaloMHTLabel")) {
_recLabels[EVTColContainer::CALOMHT] = anpset.getParameter<edm::InputTag>("recCaloMHTLabel");
_genSelectorMap[EVTColContainer::CALOMHT] = 0 ;
}
if (anpset.exists("hltMETLabel")) {
_recLabels[EVTColContainer::CALOMET] = anpset.getParameter<edm::InputTag>("hltMETLabel");
_genSelectorMap[EVTColContainer::CALOMET] = 0 ;
Expand Down Expand Up @@ -908,6 +916,11 @@ void HLTExoticaSubAnalysis::registerConsumes(edm::ConsumesCollector & iC)
edm::EDGetToken token(particularToken);
_tokens[it->first] = token;
}
else if (it->first == EVTColContainer::CALOMHT) {
edm::EDGetTokenT<reco::CaloMETCollection> particularToken = iC.consumes<reco::CaloMETCollection>(it->second);
edm::EDGetToken token(particularToken);
_tokens[it->first] = token;
}
else if (it->first == EVTColContainer::L1MET) {
edm::EDGetTokenT<l1extra::L1EtMissParticleCollection> particularToken = iC.consumes<l1extra::L1EtMissParticleCollection>(it->second);
edm::EDGetToken token(particularToken);
Expand Down Expand Up @@ -1020,6 +1033,11 @@ void HLTExoticaSubAnalysis::getHandlesToObjects(const edm::Event & iEvent, EVTCo
iEvent.getByToken(it->second, theHandle);
if (theHandle.isValid()) col->set(theHandle.product());
}
else if (it->first == EVTColContainer::CALOMHT) {
edm::Handle<reco::CaloMETCollection> theHandle;
iEvent.getByToken(it->second, theHandle);
if (theHandle.isValid()) col->setCaloMHT(theHandle.product());
}
else if (it->first == EVTColContainer::L1MET) {
edm::Handle<l1extra::L1EtMissParticleCollection> theHandle;
iEvent.getByToken(it->second, theHandle);
Expand Down Expand Up @@ -1149,6 +1167,8 @@ void HLTExoticaSubAnalysis::initSelector(const unsigned int & objtype)
_genMETSelector = new StringCutObjectSelector<reco::GenMET>(_recCut[objtype]);
} else if (objtype == EVTColContainer::CALOMET && _recCaloMETSelector == 0) {
_recCaloMETSelector = new StringCutObjectSelector<reco::CaloMET>(_recCut[objtype]);
} else if (objtype == EVTColContainer::CALOMHT && _recCaloMHTSelector == 0) {
_recCaloMHTSelector = new StringCutObjectSelector<reco::CaloMET>(_recCut[objtype]);
} else if (objtype == EVTColContainer::L1MET && _l1METSelector == 0) {
_l1METSelector = new StringCutObjectSelector<l1extra::L1EtMissParticle>(_recCut[objtype]);
} else if (objtype == EVTColContainer::PFTAU && _recPFTauSelector == 0) {
Expand Down Expand Up @@ -1264,6 +1284,15 @@ void HLTExoticaSubAnalysis::insertCandidates(const unsigned int & objType, const
if(i==0) theSumEt[objType] = cols->caloMETs->at(i).sumEt();
}
}
} else if (objType == EVTColContainer::CALOMHT) {
for (size_t i = 0; i < cols->caloMHTs->size(); i++) {
LogDebug("ExoticaValidation") << "Inserting CaloMHT " << i ;
if (_recCaloMHTSelector->operator()(cols->caloMHTs->at(i))) {
reco::LeafCandidate m(0, cols->caloMHTs->at(i).p4(), cols->caloMHTs->at(i).vertex(), objType, 0, true);
matches->push_back(m);
if(i==0) theSumEt[objType] = cols->caloMHTs->at(i).sumEt();
}
}
} else if (objType == EVTColContainer::L1MET) {
for (size_t i = 0; i < cols->l1METs->size(); i++) {
LogDebug("ExoticaValidation") << "Inserting L1MET " << i ;
Expand Down