CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1TMenuHelper.h
Go to the documentation of this file.
1 #ifndef DQM_L1TMONITOR_L1TMENUHELPER_H
2 #define DQM_L1TMONITOR_L1TMENUHELPER_H
3 
4 /*
5  * \file L1TMenuHelper.h
6  *
7  * $Date: 2011/11/15 10:41:00 $
8  * $Revision: 1.6 $
9  * \author J. Pela
10  *
11 */
12 
13 // system include files
14 #include <iostream>
15 #include <fstream>
16 #include <vector>
17 #include <memory>
18 #include <unistd.h>
19 
20 // user include files
24 
26 
28 
31 
33 
34 #include "TString.h"
35 
36 // Simplified structure for single object conditions information
38 
39  std::string name;
43  unsigned int quality;
44  unsigned int etaRange;
45  unsigned int threshold;
46 
47 };
48 
49 // Simplified structure for single object conditions information
51 
53  std::string alias;
54  unsigned int bit;
55  int prescale;
56  unsigned int threshold; //
57  unsigned int quality; // Only aplicable to Muons
58  unsigned int etaRange; // Only aplicable to Muons
59 
60  bool operator< (const SingleObjectTrigger &iSOT) const{
61 
62  if (this->etaRange > iSOT.etaRange){return true;}
63  else if(this->etaRange < iSOT.etaRange){return false;}
64 
65  if (this->prescale < iSOT.prescale){return true;}
66  else if(this->prescale > iSOT.prescale){return false;}
67 
68  if (this->quality > iSOT.quality){return true;}
69  else if(this->quality < iSOT.quality){return false;}
70 
71  return this->threshold < iSOT.threshold;
72 
73  }
74 
75 };
76 
78 
79  public:
80 
81  L1TMenuHelper(const edm::EventSetup& iSetup); // Constructor
82  ~L1TMenuHelper(); // Destructor
83 
84  // Get Lowest Unprescaled Single Object Triggers
85  std::map<std::string,std::string> getLUSOTrigger(std::map<std::string,bool> iCategories, int IndexRefPrescaleFactors);
86  std::map<std::string,std::string> testAlgos (std::map<std::string,std::string>);
87 
88 
89  // To convert enum to strings
90  std::string enumToStringL1GtObject (L1GtObject iObject);
91  std::string enumToStringL1GtConditionType (L1GtConditionType iConditionType);
92  std::string enumToStringL1GtConditionCategory(L1GtConditionCategory iConditionCategory);
93 
94  // Getters
95  int getPrescaleByAlias(TString iCategory, TString iAlias);
96  unsigned int getEtaRangeByAlias(TString iCategory, TString iAlias);
97  unsigned int getQualityAlias (TString iCategory, TString iAlias);
98 
99  private:
100 
103 
105 
107  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
108 
109  // Vectors to hold significant information about single object triggers
110  std::vector<SingleObjectTrigger> m_vTrigMu;
111  std::vector<SingleObjectTrigger> m_vTrigEG ;
112  std::vector<SingleObjectTrigger> m_vTrigIsoEG;
113  std::vector<SingleObjectTrigger> m_vTrigJet ;
114  std::vector<SingleObjectTrigger> m_vTrigCenJet;
115  std::vector<SingleObjectTrigger> m_vTrigForJet;
116  std::vector<SingleObjectTrigger> m_vTrigTauJet;
117  std::vector<SingleObjectTrigger> m_vTrigETM;
118  std::vector<SingleObjectTrigger> m_vTrigETT;
119  std::vector<SingleObjectTrigger> m_vTrigHTT;
120  std::vector<SingleObjectTrigger> m_vTrigHTM;
121 
122 };
123 
124 #endif
L1GtConditionCategory conditionCategory
Definition: L1TMenuHelper.h:40
std::vector< SingleObjectTrigger > m_vTrigJet
unsigned int quality
Definition: L1TMenuHelper.h:57
std::string enumToStringL1GtObject(L1GtObject iObject)
L1GtUtils myUtils
std::vector< SingleObjectTrigger > m_vTrigETM
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
std::vector< SingleObjectTrigger > m_vTrigMu
unsigned int etaRange
Definition: L1TMenuHelper.h:44
const L1GtTriggerMenu * m_l1GtMenu
L1GtConditionType conditionType
Definition: L1TMenuHelper.h:41
std::map< std::string, std::string > getLUSOTrigger(std::map< std::string, bool > iCategories, int IndexRefPrescaleFactors)
std::vector< SingleObjectTrigger > m_vTrigTauJet
L1GtConditionType
unsigned int threshold
Definition: L1TMenuHelper.h:56
unsigned int threshold
Definition: L1TMenuHelper.h:45
int getPrescaleByAlias(TString iCategory, TString iAlias)
unsigned int getQualityAlias(TString iCategory, TString iAlias)
unsigned int quality
Definition: L1TMenuHelper.h:43
bool operator<(const SingleObjectTrigger &iSOT) const
Definition: L1TMenuHelper.h:60
std::vector< SingleObjectTrigger > m_vTrigHTM
std::vector< SingleObjectTrigger > m_vTrigHTT
L1TMenuHelper(const edm::EventSetup &iSetup)
L1GtConditionCategory
condition categories
unsigned int bit
Definition: L1TMenuHelper.h:54
unsigned int etaRange
Definition: L1TMenuHelper.h:58
unsigned int getEtaRangeByAlias(TString iCategory, TString iAlias)
std::vector< SingleObjectTrigger > m_vTrigIsoEG
edm::ESHandle< L1GtTriggerMenu > menuRcd
std::vector< SingleObjectTrigger > m_vTrigETT
std::vector< SingleObjectTrigger > m_vTrigCenJet
std::string enumToStringL1GtConditionType(L1GtConditionType iConditionType)
edm::ESHandle< L1GtPrescaleFactors > l1GtPfAlgo
std::map< std::string, std::string > testAlgos(std::map< std::string, std::string >)
std::string enumToStringL1GtConditionCategory(L1GtConditionCategory iConditionCategory)
std::vector< SingleObjectTrigger > m_vTrigForJet
std::vector< SingleObjectTrigger > m_vTrigEG