19 const std::vector<unsigned int> &objectsType)
21 _hltProcessName(
pset.getParameter<
std::
string>(
"hltProcessName")),
22 _objectsType(
std::set<unsigned
int>(objectsType.begin(), objectsType.
end())),
23 _nObjects(objectsType.
size()),
24 _parametersEta(
pset.getParameter<
std::
vector<double>>(
"parametersEta")),
25 _parametersPhi(
pset.getParameter<
std::
vector<double>>(
"parametersPhi")),
26 _parametersTurnOn(
pset.getParameter<
std::
vector<double>>(
"parametersTurnOn")),
27 _parametersTurnOnSumEt(
pset.getParameter<
std::
vector<double>>(
"parametersTurnOnSumEt")),
28 _parametersDxy(
pset.getParameter<
std::
vector<double>>(
"parametersDxy")),
31 if (
pset.exists(
"dropPt2")) {
34 if (
pset.exists(
"dropPt3")) {
37 LogDebug(
"ExoticaValidation") <<
"In HLTExoticaPlotter::constructor()";
47 LogDebug(
"ExoticaValidation") <<
"In HLTExoticaPlotter::plotterBookHistos()";
49 std::vector<std::string>
sources(2);
59 if (TString(objTypeStr).Contains(
"MET") || TString(objTypeStr).Contains(
"MHT") ||
60 TString(objTypeStr).Contains(
"Jet")) {
78 if (TString(objTypeStr).Contains(
"MET") || TString(objTypeStr).Contains(
"MHT")) {
103 const std::vector<reco::LeafCandidate> &
matches,
104 std::map<int, double> theSumEt,
105 std::vector<float> &dxys) {
106 LogDebug(
"ExoticaValidation") <<
"In HLTExoticaPlotter::analyze()";
107 if (!isPassTrigger) {
111 std::map<unsigned int, int> countobjects;
114 countobjects[*
co] = 0;
120 int totalobjectssize = 1;
125 totalobjectssize *= countobjects.size();
127 unsigned int jaux = 0;
145 if (!(TString(objTypeStr).Contains(
"MET") || TString(objTypeStr).Contains(
"MHT"))) {
148 }
else if (
source !=
"gen") {
156 this->
fillHist(isPassTrigger,
source, objTypeStr,
"Dxy", dxys[jaux]);
160 if (countobjects[
objType] == 0) {
161 if (!(TString(objTypeStr).Contains(
"MET") || TString(objTypeStr).Contains(
"MHT")) ||
source !=
"gen") {
168 if (!(TString(objTypeStr).Contains(
"MET") || TString(objTypeStr).Contains(
"MHT"))) {
175 if (!(TString(objTypeStr).Contains(
"MET") || TString(objTypeStr).Contains(
"MHT"))) {
182 if (counttotal == totalobjectssize) {
194 LogDebug(
"ExoticaValidation") <<
"In HLTExoticaPlotter::bookHist()";
196 sourceUpper[0] = std::toupper(sourceUpper[0]);
200 if (
variable.find(
"SumEt") != std::string::npos) {
204 for (
size_t i = 0;
i <
nBins + 1;
i++) {
209 }
else if (
variable.find(
"Dxy") != std::string::npos) {
215 }
else if (
variable.find(
"MaxPt") != std::string::npos) {
221 desc =
"Next-to-Leading";
223 desc =
"Next-to-next-to-Leading";
227 "where event pass the " +
231 for (
size_t i = 0;
i <
nBins + 1;
i++) {
252 if (
objType !=
"refittedStandAloneMuons") {
270 const float &
value) {
272 sourceUpper[0] = toupper(sourceUpper[0]);
275 LogDebug(
"ExoticaValidation") <<
"In HLTExoticaPlotter::fillHist()" <<
name <<
" " <<
value;
278 if (
objType !=
"refittedStandAloneMuons") {
285 LogDebug(
"ExoticaValidation") <<
"In HLTExoticaPlotter::fillHist()" <<
name <<
" worked";
void plotterBookHistos(DQMStore::IBooker &iBooker, const edm::Run &iRun, const edm::EventSetup &iSetup)
std::set< unsigned int > _objectsType
std::vector< double > _parametersDxy
__host__ __device__ VT * co
std::vector< double > _parametersTurnOnSumEt
HLTExoticaPlotter(const edm::ParameterSet &pset, const std::string &hltPath, const std::vector< unsigned int > &objectsType)
std::vector< double > _parametersEta
std::vector< double > _parametersTurnOn
void fillHist(const bool &passTrigger, const std::string &source, const std::string &objType, const std::string &var, const float &value)
std::vector< double > _parametersPhi
void bookHist(DQMStore::IBooker &iBooker, const std::string &source, const std::string &objType, const std::string &variable)
void analyze(const bool &isPassTrigger, const std::string &source, const std::vector< reco::LeafCandidate > &matches, std::map< int, double > theSumEt, std::vector< float > &dxys)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
static const std::string getTypeString(const unsigned int &objtype)
Tranform types into strings.
static std::string const source
std::map< std::string, MonitorElement * > _elements