CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1Comparator Class Reference

#include <L1Comparator.h>

Inheritance diagram for L1Comparator:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

template<class myCol >
bool CompareCollections (edm::Handle< myCol > data, edm::Handle< myCol > emul)
 
 L1Comparator (const edm::ParameterSet &)
 
 ~L1Comparator () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void beginJob (void) override
 
void beginRun (edm::Run const &, const edm::EventSetup &) final
 
template<class T >
bool CompareCollections (edm::Handle< T > data, edm::Handle< T > emul)
 
template<class T >
bool dumpCandidate (const T &dt, const T &em, std::ostream &s)
 
void endJob () override
 
template<class T >
void process (T const *, T const *, const int, const int)
 
template<class T >
void process (const edm::Handle< T > data, const edm::Handle< T > emul, const int sys, const int cid)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
int verbose ()
 

Private Attributes

bool DEmatchEvt [dedefs::DEnsys]
 
int DEncand [dedefs::DEnsys][2]
 
bool dumpEvent_
 
int evtNum_
 
L1DEDigiCollection m_dedigis
 
bool m_doSys [dedefs::DEnsys]
 
std::ofstream m_dumpFile
 
std::string m_dumpFileName
 
int m_dumpMode
 
bool m_match
 
bool m_stage1_layer2_
 
int nevt_
 
int runNum_
 
edm::EDGetTokenT< L1CaloEmCollectiontokenCaloEm_ [2]
 
edm::EDGetTokenT< L1CaloRegionCollectiontokenCaloRegion_ [2]
 
edm::EDGetTokenT< L1GctEmCandCollectiontokenGctEmCand_isoEm_ [2]
 
edm::EDGetTokenT< L1GctEmCandCollectiontokenGctEmCand_nonIsoEm_ [2]
 
edm::EDGetTokenT< L1GctEtHadCollectiontokenGctEtHad_ [2]
 
edm::EDGetTokenT< L1GctEtMissCollectiontokenGctEtMiss_ [2]
 
edm::EDGetTokenT< L1GctEtTotalCollectiontokenGctEtTotal_ [2]
 
edm::EDGetTokenT< L1GctHFBitCountsCollectiontokenGctHFBitCounts_ [2]
 
edm::EDGetTokenT< L1GctHFRingEtSumsCollectiontokenGctHFRingEtSums_ [2]
 
edm::EDGetTokenT< L1GctHtMissCollectiontokenGctHtMiss_ [2]
 
edm::EDGetTokenT< L1GctJetCandCollectiontokenGctJetCand_cenJets_ [2]
 
edm::EDGetTokenT< L1GctJetCandCollectiontokenGctJetCand_forJets_ [2]
 
edm::EDGetTokenT< L1GctJetCandCollectiontokenGctJetCand_isoTauJets_ [2]
 
edm::EDGetTokenT< L1GctJetCandCollectiontokenGctJetCand_tauJets_ [2]
 
edm::EDGetTokenT< L1GctJetCountsCollectiontokenGctJetCounts_ [2]
 
edm::EDGetTokenT< LTCDigiCollectiontokenLTCDigi_ [2]
 
edm::EDGetTokenT< L1MuDTChambPhContainertokenMuDTChambPh_ [2]
 
edm::EDGetTokenT< L1MuDTChambThContainertokenMuDTChambTh_ [2]
 
edm::EDGetTokenT< L1MuDTTrackContainertokenMuDTTrack_ [2]
 
edm::EDGetTokenT< L1MuGMTCandCollectiontokenMuGMTCand_ [2]
 
edm::EDGetTokenT< L1MuGMTReadoutCollectiontokenMuReadoutCand_ [2]
 
edm::EDGetTokenT< L1MuRegionalCandCollectiontokenMuRegionalCandRPCb_ [2]
 
edm::EDGetTokenT< L1MuRegionalCandCollectiontokenMuRegionalCandRPCf_ [2]
 
int verbose_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 42 of file L1Comparator.h.

Constructor & Destructor Documentation

L1Comparator::L1Comparator ( const edm::ParameterSet iConfig)
explicit

assertions/temporary

dump level: -1(all),0(none),1(disagree),2(loc.disagree),3(loc.agree)

create d|e record product

Definition at line 6 of file L1Comparator.cc.

References gather_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DEnsys, dedefs::DTF, dedefs::DTP, dedefs::ETP, Exception, dedefs::GCT, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), dedefs::GLT, dedefs::GMT, dedefs::HTP, mps_fire::i, HLT_2018_cff::InputTag, dqmiolumiharvest::j, label, edm::InputTag::label(), dedefs::LTC, MillePedeFileConverter_cfg::out, dedefs::RCT, dedefs::RPC, AlCaHLTBitMon_QueryRunRegistry::string, dedefs::SystLabel, GlobalPosition_Frontier_DevDB_cff::tag, triggerMatcherToHLTDebug_cfi::tags, and verbose.

6  {
7  verbose_ = iConfig.getUntrackedParameter<int>("VerboseFlag", 0);
8  m_stage1_layer2_ = iConfig.getParameter<bool>("stage1_layer2_");
9 
10  if (verbose())
11  std::cout << "\nL1COMPARATOR constructor...\n" << std::flush;
12 
13  std::vector<unsigned int> dosys(0, DEnsys);
14  dosys = iConfig.getUntrackedParameter<std::vector<unsigned int> >("COMPARE_COLLS", dosys);
15 
16  if ((int)dosys.size() != DEnsys)
17  edm::LogError("L1Comparator") << "wrong selection of systems to be compared\n"
18  << "\t the size of the mask COMPARE_COLLS (" << dosys.size() << ") is not " << DEnsys
19  << std::endl;
20  assert((int)dosys.size() == DEnsys);
21 
22  for (int isys = 0; isys < DEnsys; isys++)
23  if (dosys[isys] != 0 && dosys[isys] != 1)
24  throw cms::Exception("Invalid configuration") << "L1Comparator: comparison flag for system " << isys
25  << " is non boolean: " << dosys[isys] << ". Exiting.\n";
26 
27  for (int i = 0; i < DEnsys; i++)
28  m_doSys[i] = dosys[i];
29 
30  if (verbose()) {
31  std::cout << "[L1Comparator] do sys? ";
32  for (int i = 0; i < DEnsys; i++)
33  std::cout << m_doSys[i] << " ";
34  std::cout << std::endl;
35 
36  std::cout << "[L1Comparator] list of systems to process: ";
37  for (int i = 0; i < DEnsys; i++)
38  if (m_doSys[i])
39  std::cout << SystLabel[i] << " ";
40  std::cout << std::endl;
41  }
42 
44  assert(ETP == 0);
45  assert(HTP == 1);
46  assert(RCT == 2);
47  assert(GCT == 3);
48  assert(DTP == 4);
49  assert(DTF == 5);
50  assert(CTP == 6);
51  assert(CTF == 7);
52  assert(RPC == 8);
53  assert(LTC == 9);
54  assert(GMT == 10);
55  assert(GLT == 11);
56 
58  m_dumpMode = iConfig.getUntrackedParameter<int>("DumpMode", 0);
59  m_dumpFileName = iConfig.getUntrackedParameter<std::string>("DumpFile", "");
60  if (m_dumpMode) {
61  m_dumpFile.open(m_dumpFileName.c_str(), std::ios::out);
62  if (!m_dumpFile.good())
63  edm::LogInfo("L1ComparatorDumpFileOpenError")
64  << " L1Comparator::L1Comparator() : "
65  << " couldn't open dump file " << m_dumpFileName.c_str() << std::endl;
66  }
67 
68  m_match = true;
69  dumpEvent_ = true;
70  nevt_ = -1;
71 
72  for (int i = 0; i < DEnsys; i++) {
73  for (int j = 0; j < 2; j++)
74  DEncand[i][j] = 0;
75  DEmatchEvt[i] = true;
76  }
77 
78  m_dedigis.clear();
80  produces<L1DataEmulRecord>().setBranchAlias("L1DataEmulRecord");
81 
82  // -- RCT [regional calorimeter trigger]
83  if (m_doSys[RCT]) {
84  edm::InputTag tag0 = iConfig.getParameter<edm::InputTag>("RCTsourceData");
85  edm::InputTag tag1 = iConfig.getParameter<edm::InputTag>("RCTsourceEmul");
86 
87  tokenCaloEm_[0] = consumes<L1CaloEmCollection>(tag0);
88  tokenCaloEm_[1] = consumes<L1CaloEmCollection>(tag1);
89  tokenCaloRegion_[0] = consumes<L1CaloRegionCollection>(tag0);
90  tokenCaloRegion_[1] = consumes<L1CaloRegionCollection>(tag1);
91  }
92 
93  // -- GCT [global calorimeter trigger]
94  if (m_doSys[GCT]) {
96  tags[0] = iConfig.getParameter<edm::InputTag>("GCTsourceData");
97  tags[1] = iConfig.getParameter<edm::InputTag>("GCTsourceEmul");
98 
99  if (m_stage1_layer2_ == false) {
100  for (int i = 0; i < 2; ++i) {
101  edm::InputTag const& tag = tags[i];
102  std::string const& label = tag.label();
103  tokenGctEmCand_isoEm_[i] = consumes<L1GctEmCandCollection>(edm::InputTag(label, "isoEm"));
104  tokenGctEmCand_nonIsoEm_[i] = consumes<L1GctEmCandCollection>(edm::InputTag(label, "nonIsoEm"));
105  tokenGctJetCand_cenJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "cenJets"));
106  tokenGctJetCand_forJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "forJets"));
107  tokenGctJetCand_tauJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "tauJets"));
108  tokenGctEtTotal_[i] = consumes<L1GctEtTotalCollection>(tag);
109  tokenGctEtHad_[i] = consumes<L1GctEtHadCollection>(tag);
110  tokenGctEtMiss_[i] = consumes<L1GctEtMissCollection>(tag);
111  tokenGctHFRingEtSums_[i] = consumes<L1GctHFRingEtSumsCollection>(tag);
112  tokenGctHFBitCounts_[i] = consumes<L1GctHFBitCountsCollection>(tag);
113  tokenGctHtMiss_[i] = consumes<L1GctHtMissCollection>(tag);
114  tokenGctJetCounts_[i] = consumes<L1GctJetCountsCollection>(tag);
115  }
116  }
117  if (m_stage1_layer2_ == true) {
118  for (int i = 0; i < 2; ++i) {
119  edm::InputTag const& tag = tags[i];
120  std::string const& label = tag.label();
121  tokenGctEmCand_isoEm_[i] = consumes<L1GctEmCandCollection>(edm::InputTag(label, "isoEm"));
122  tokenGctEmCand_nonIsoEm_[i] = consumes<L1GctEmCandCollection>(edm::InputTag(label, "nonIsoEm"));
123  tokenGctJetCand_cenJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "cenJets"));
124  tokenGctJetCand_forJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "forJets"));
125  tokenGctJetCand_tauJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "tauJets"));
126  tokenGctJetCand_isoTauJets_[i] = consumes<L1GctJetCandCollection>(edm::InputTag(label, "isoTauJets"));
127  tokenGctEtTotal_[i] = consumes<L1GctEtTotalCollection>(tag);
128  tokenGctEtHad_[i] = consumes<L1GctEtHadCollection>(tag);
129  tokenGctEtMiss_[i] = consumes<L1GctEtMissCollection>(tag);
130  tokenGctHFRingEtSums_[i] = consumes<L1GctHFRingEtSumsCollection>(tag);
131  tokenGctHFBitCounts_[i] = consumes<L1GctHFBitCountsCollection>(tag);
132  tokenGctHtMiss_[i] = consumes<L1GctHtMissCollection>(tag);
133  tokenGctJetCounts_[i] = consumes<L1GctJetCountsCollection>(tag);
134  }
135  }
136  }
137 
138  // -- DTP [drift tube trigger primitive]
139  if (m_doSys[DTP]) {
140  edm::InputTag tag0 = iConfig.getParameter<edm::InputTag>("DTPsourceData");
141  edm::InputTag tag1 = iConfig.getParameter<edm::InputTag>("DTPsourceEmul");
142 
143  tokenMuDTChambPh_[0] = consumes<L1MuDTChambPhContainer>(tag0);
144  tokenMuDTChambPh_[1] = consumes<L1MuDTChambPhContainer>(tag1);
145  tokenMuDTChambTh_[0] = consumes<L1MuDTChambThContainer>(tag0);
146  tokenMuDTChambTh_[1] = consumes<L1MuDTChambThContainer>(tag1);
147  }
148 
149  // -- DTF [drift tube track finder]
150  if (m_doSys[DTF]) {
151  edm::InputTag tag0 = iConfig.getParameter<edm::InputTag>("DTFsourceData");
152  edm::InputTag tag1 = iConfig.getParameter<edm::InputTag>("DTFsourceEmul");
153 
154  tokenMuDTTrack_[0] = consumes<L1MuDTTrackContainer>(edm::InputTag(tag0.label(), "DATA"));
155  tokenMuDTTrack_[1] = consumes<L1MuDTTrackContainer>(edm::InputTag(tag1.label(), "DTTF"));
156  }
157 
158  // -- RPC [resistive plate chambers regional trigger]
159  if (m_doSys[RPC]) {
160  edm::InputTag tag0 = iConfig.getParameter<edm::InputTag>("RPCsourceData");
161  edm::InputTag tag1 = iConfig.getParameter<edm::InputTag>("RPCsourceEmul");
162 
163  tokenMuRegionalCandRPCb_[0] = consumes<L1MuRegionalCandCollection>(edm::InputTag(tag0.label(), "RPCb"));
164  tokenMuRegionalCandRPCb_[1] = consumes<L1MuRegionalCandCollection>(edm::InputTag(tag1.label(), "RPCb"));
165  tokenMuRegionalCandRPCf_[0] = consumes<L1MuRegionalCandCollection>(edm::InputTag(tag0.label(), "RPCf"));
166  tokenMuRegionalCandRPCf_[1] = consumes<L1MuRegionalCandCollection>(edm::InputTag(tag1.label(), "RPCf"));
167  }
168 
169  // -- LTC [local trigger controller]
170  if (m_doSys[LTC]) {
171  // FIXME
172  // There should be a real input tag here, but there was none in the original code.
173  edm::InputTag dummyTag;
174  tokenLTCDigi_[0] = consumes<LTCDigiCollection>(dummyTag);
175  tokenLTCDigi_[1] = consumes<LTCDigiCollection>(dummyTag);
176  }
177 
178  // -- GMT [global muon trigger]
179  if (m_doSys[GMT]) {
180  edm::InputTag tag0 = iConfig.getParameter<edm::InputTag>("GMTsourceData");
181  edm::InputTag tag1 = iConfig.getParameter<edm::InputTag>("GMTsourceEmul");
182 
183  tokenMuGMTCand_[0] = consumes<L1MuGMTCandCollection>(tag0);
184  tokenMuGMTCand_[1] = consumes<L1MuGMTCandCollection>(tag1);
185  tokenMuReadoutCand_[0] = consumes<L1MuGMTReadoutCollection>(tag0);
186  tokenMuReadoutCand_[1] = consumes<L1MuGMTReadoutCollection>(tag1);
187  }
188 
189  if (verbose())
190  std::cout << "\nL1Comparator constructor...done.\n" << std::flush;
191 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< L1GctEmCandCollection > tokenGctEmCand_nonIsoEm_[2]
Definition: L1Comparator.h:79
edm::EDGetTokenT< LTCDigiCollection > tokenLTCDigi_[2]
Definition: L1Comparator.h:93
const int DEnsys
Definition: DEtrait.h:38
edm::EDGetTokenT< L1GctEtHadCollection > tokenGctEtHad_[2]
Definition: L1Comparator.h:85
edm::EDGetTokenT< L1MuRegionalCandCollection > tokenMuRegionalCandRPCb_[2]
Definition: L1Comparator.h:95
int DEncand[dedefs::DEnsys][2]
Definition: L1Comparator.h:106
edm::EDGetTokenT< L1GctJetCountsCollection > tokenGctJetCounts_[2]
Definition: L1Comparator.h:90
edm::EDGetTokenT< L1GctEtMissCollection > tokenGctEtMiss_[2]
Definition: L1Comparator.h:86
edm::EDGetTokenT< L1GctHFBitCountsCollection > tokenGctHFBitCounts_[2]
Definition: L1Comparator.h:88
edm::EDGetTokenT< L1MuDTChambThContainer > tokenMuDTChambTh_[2]
Definition: L1Comparator.h:92
std::string m_dumpFileName
Definition: L1Comparator.h:101
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_tauJets_[2]
Definition: L1Comparator.h:82
bool m_stage1_layer2_
Definition: L1Comparator.h:67
char const * label
edm::EDGetTokenT< L1MuGMTReadoutCollection > tokenMuReadoutCand_[2]
Definition: L1Comparator.h:98
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_isoTauJets_[2]
Definition: L1Comparator.h:83
edm::EDGetTokenT< L1MuRegionalCandCollection > tokenMuRegionalCandRPCf_[2]
Definition: L1Comparator.h:96
edm::EDGetTokenT< L1GctEtTotalCollection > tokenGctEtTotal_[2]
Definition: L1Comparator.h:84
edm::EDGetTokenT< L1CaloEmCollection > tokenCaloEm_[2]
Definition: L1Comparator.h:76
edm::EDGetTokenT< L1MuDTChambPhContainer > tokenMuDTChambPh_[2]
Definition: L1Comparator.h:91
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_cenJets_[2]
Definition: L1Comparator.h:80
edm::EDGetTokenT< L1GctHFRingEtSumsCollection > tokenGctHFRingEtSums_[2]
Definition: L1Comparator.h:87
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_forJets_[2]
Definition: L1Comparator.h:81
edm::EDGetTokenT< L1GctHtMissCollection > tokenGctHtMiss_[2]
Definition: L1Comparator.h:89
edm::EDGetTokenT< L1CaloRegionCollection > tokenCaloRegion_[2]
Definition: L1Comparator.h:77
bool DEmatchEvt[dedefs::DEnsys]
Definition: L1Comparator.h:105
std::string const & label() const
Definition: InputTag.h:36
const std::string SystLabel[DEnsys]
Definition: DEtrait.h:42
L1DEDigiCollection m_dedigis
Definition: L1Comparator.h:107
std::ofstream m_dumpFile
Definition: L1Comparator.h:102
edm::EDGetTokenT< L1MuDTTrackContainer > tokenMuDTTrack_[2]
Definition: L1Comparator.h:94
edm::EDGetTokenT< L1GctEmCandCollection > tokenGctEmCand_isoEm_[2]
Definition: L1Comparator.h:78
edm::EDGetTokenT< L1MuGMTCandCollection > tokenMuGMTCand_[2]
Definition: L1Comparator.h:97
bool m_doSys[dedefs::DEnsys]
Definition: L1Comparator.h:100
L1Comparator::~L1Comparator ( )
override

Definition at line 193 of file L1Comparator.cc.

193 {}

Member Function Documentation

void L1Comparator::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 195 of file L1Comparator.cc.

195 {}
void L1Comparator::beginRun ( edm::Run const &  iRun,
const edm::EventSetup iSetup 
)
finalprivate

Definition at line 197 of file L1Comparator.cc.

References gather_cfg::cout, dedefs::CTF, dedefs::DTF, dedefs::GCT, edm::EventSetup::get(), dedefs::GLT, dedefs::GMT, L1TriggerKey::kCSCTF, L1TriggerKey::kDTTF, L1TriggerKey::kGCT, L1TriggerKey::kGMT, L1TriggerKey::kGT, L1TriggerKey::kRCT, L1TriggerKey::kRPC, dedefs::RCT, dedefs::RPC, L1TriggerKey::subsystemKey(), L1TriggerKey::tscKey(), and verbose.

197  {
198  if (verbose())
199  std::cout << "\nL1COMPARATOR beginRun...\n" << std::flush;
200 
201  // disable subsystem if not included in current run configuration
202  try {
204  iSetup.get<L1TriggerKeyRcd>().get(pKey);
205 
206  m_doSys[RCT] &= (!(pKey->subsystemKey(L1TriggerKey::kRCT).empty()));
207  m_doSys[GCT] &= (!(pKey->subsystemKey(L1TriggerKey::kGCT).empty()));
208  m_doSys[DTF] &= (!(pKey->subsystemKey(L1TriggerKey::kDTTF).empty()));
209  m_doSys[CTF] &= (!(pKey->subsystemKey(L1TriggerKey::kCSCTF).empty()));
210  m_doSys[RPC] &= (!(pKey->subsystemKey(L1TriggerKey::kRPC).empty()));
211  m_doSys[GMT] &= (!(pKey->subsystemKey(L1TriggerKey::kGMT).empty()));
212  m_doSys[GLT] &= (!(pKey->subsystemKey(L1TriggerKey::kGT).empty()));
213 
214  if (verbose()) {
215  if (pKey->subsystemKey(L1TriggerKey::kRCT).empty())
216  std::cout << "RCT key is empty. Sub-systems is disabled (" << m_doSys[RCT] << ")\n";
217  if (pKey->subsystemKey(L1TriggerKey::kGCT).empty())
218  std::cout << "GCT key is empty. Sub-systems is disabled (" << m_doSys[GCT] << ")\n";
219  if (pKey->subsystemKey(L1TriggerKey::kDTTF).empty())
220  std::cout << "DTTF key is empty. Sub-systems is disabled (" << m_doSys[DTF] << ")\n";
221  if (pKey->subsystemKey(L1TriggerKey::kCSCTF).empty())
222  std::cout << "CSCTF key is empty. Sub-systems is disabled (" << m_doSys[CTF] << ")\n";
223  if (pKey->subsystemKey(L1TriggerKey::kRPC).empty())
224  std::cout << "RPC key is empty. Sub-systems is disabled (" << m_doSys[RPC] << ")\n";
225  if (pKey->subsystemKey(L1TriggerKey::kGMT).empty())
226  std::cout << "GMT key is empty. Sub-systems is disabled (" << m_doSys[GMT] << ")\n";
227  if (pKey->subsystemKey(L1TriggerKey::kGT).empty())
228  std::cout << "GT key is empty. Sub-systems is disabled (" << m_doSys[GLT] << ")\n";
229  std::cout << "TSC key = " << pKey->tscKey() << std::endl;
230  }
231 
232  //access subsystem key if needed, eg:
233  //std::cout << "RCT key:" << pKey->subsystemKey( L1TriggerKey::kRCT ) << std::endl;
234  } catch (cms::Exception& ex) {
235  edm::LogWarning("L1Comparator") << "No L1TriggerKey found." << std::endl;
236  }
237 
238  if (verbose())
239  std::cout << "L1COMPARATOR beginRun... done\n" << std::flush;
240 }
const std::string & tscKey() const
Definition: L1TriggerKey.h:69
T get() const
Definition: EventSetup.h:73
const std::string & subsystemKey(L1Subsystems subsystem) const
Definition: L1TriggerKey.h:71
bool m_doSys[dedefs::DEnsys]
Definition: L1Comparator.h:100
template<class T >
bool L1Comparator::CompareCollections ( edm::Handle< T data,
edm::Handle< T emul 
)
private

Referenced by process().

template<class myCol >
bool L1Comparator::CompareCollections ( edm::Handle< myCol >  data,
edm::Handle< myCol >  emul 
)

Definition at line 863 of file L1Comparator.cc.

References mps_fire::i, and match().

863  {
864  bool match = true;
865  typedef typename myCol::size_type col_sz;
866  typedef typename myCol::iterator col_it;
867  col_sz ndata = data->size();
868  col_sz nemul = emul->size();
869  if (ndata != nemul) {
870  match &= false;
871  m_dumpFile << " #cand mismatch!"
872  << "\tdata: " << ndata << "\temul: " << nemul << std::endl;
873  }
874  col_it itd = data->begin();
875  col_it itm = emul->begin();
876  for (col_sz i = 0; i < ndata; i++) {
877  match &= dumpCandidate(*itd++, *itm++, m_dumpFile);
878  }
879  return match;
880 }
uint16_t size_type
bool dumpCandidate(const T &dt, const T &em, std::ostream &s)
std::ofstream m_dumpFile
Definition: L1Comparator.h:102
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
template<class T >
bool L1Comparator::dumpCandidate ( const T dt,
const T em,
std::ostream &  s 
)
private

Definition at line 883 of file L1Comparator.cc.

Referenced by process().

883  {
884  if (dt == em)
885  return true;
886  s << dt << std::endl;
887  s << em << std::endl << std::endl;
888  return false;
889 }
float dt
Definition: AMPTWrapper.h:136
void L1Comparator::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 242 of file L1Comparator.cc.

242  {
243  if (m_dumpMode)
244  m_dumpFile << "\n\n-------\n"
245  << "Global data|emulator agreement: " << m_match << std::endl;
246  m_dumpFile.close();
247 }
std::ofstream m_dumpFile
Definition: L1Comparator.h:102
template<class T >
void L1Comparator::process ( T const *  data,
T const *  emul,
const int  sys,
const int  cid 
)
private

tmp: for getting a clean dump (avoid empty entries)

perform comparison

gather results

over-write system-id: needed eg for GMT input, CSC tf reg cand, CTP&CTF

over-write data type: needed eg for GCT jet types, regional muon sources

append d|e digis to the record's collection

Definition at line 768 of file L1Comparator.cc.

References fileCollector::cmp, gather_cfg::cout, DEcompare< T >::de_type(), DEcompare< T >::do_compare(), alignBH_cfg::fixed, DEcompare< T >::get_ncand(), DEcompare< T >::getDEDigis(), DEcompare< T >::GetName(), mps_fire::i, DEcompare< T >::print(), dedefs::SystLabel, createJobs::tmp, and verbose.

Referenced by process().

768  {
769  if (verbose())
770  std::cout << "L1Comparator::process -ing system:" << sys << " (" << SystLabel[sys] << "), data type " << cid
771  << "...\n"
772  << std::flush;
773  if (verbose())
774  std::cout << "L1Comparator::process debug "
775  << " (size " << data->size() << "," << emul->size() << ")"
776  << ".\n"
777  << std::flush;
778 
780  bool prt = false;
781  if (!m_dumpMode)
782  prt = false;
783  else if (m_dumpMode == -1)
784  prt = true;
785  else if (m_dumpMode > 0) {
786  DEcompare<T> tmp(data, emul);
787  if (tmp.get_ncand(0) == 0 && tmp.get_ncand(1) == 0)
788  prt = false;
789  else
790  prt = !tmp.do_compare(m_dumpFile, 0);
791  }
792 
793  //declare de compare object
794  DEcompare<T> cmp(data, emul);
795 
796  int ndata = cmp.get_ncand(0);
797  int nemul = cmp.get_ncand(1);
798 
799  if (verbose())
800  std::cout << "L1Comparator::process "
801  << " system:" << SystLabel[sys] << "(id " << sys << ")"
802  << " type:" << cmp.GetName(0) << "(" << cmp.de_type() << ")"
803  << " ndata:" << ndata << " nemul:" << nemul << " (size " << data->size() << "," << emul->size() << ")"
804  << ".\n"
805  << std::flush;
806 
807  if (ndata == 0 && nemul == 0) {
808  if (verbose())
809  std::cout << "L1Comparator::process "
810  << "empty collections -- exiting!\n"
811  << std::flush;
812  return;
813  }
814 
815  m_dumpFile << std::setiosflags(std::ios::showpoint | std::ios::fixed | std::ios::right | std::ios::adjustfield);
816  std::cout << std::setiosflags(std::ios::showpoint | std::ios::fixed | std::ios::right | std::ios::adjustfield);
817 
818  if (dumpEvent_ && prt) {
819  m_dumpFile << "\nEntry: " << nevt_ << " (event:" << evtNum_ << " | run:" << runNum_ << ")\n" << std::flush;
820  dumpEvent_ = false;
821  }
822 
823  if (prt)
824  m_dumpFile << "\n sys:" << SystLabel[sys] << " (" << sys << "), type:" << cid //cmp.GetName()
825  << " ...\n";
826 
827  if (verbose())
828  std::cout << "L1Comparator::process print:\n" << std::flush << cmp.print() << std::flush;
829 
831  DEmatchEvt[sys] &= cmp.do_compare(m_dumpFile, m_dumpMode);
832 
834  L1DEDigiCollection dg = cmp.getDEDigis();
835 
836  if (verbose())
837  for (L1DEDigiCollection::iterator it = dg.begin(); it != dg.end(); it++)
838  std::cout << *it << "\n";
839 
841  for (L1DEDigiCollection::iterator it = dg.begin(); it != dg.end(); it++)
842  it->setSid(sys);
844  for (L1DEDigiCollection::iterator it = dg.begin(); it != dg.end(); it++)
845  it->setCid(cid);
846 
848  m_dedigis.insert(m_dedigis.end(), dg.begin(), dg.end());
849  for (int i = 0; i < 2; i++)
850  DEncand[sys][i] += cmp.get_ncand(i);
851 
852  if (verbose())
853  std::cout << "L1Comparator::process "
854  << " system:" << SystLabel[sys] << " type:" << cmp.GetName(0) << " ndata:" << DEncand[sys][0]
855  << " nemul:" << DEncand[sys][1] << " (size " << data->size() << "," << emul->size() << ")"
856  << " ndigis:" << dg.size() << " agree? " << DEmatchEvt[sys] << std::endl;
857 
858  if (verbose())
859  std::cout << "L1Comparator::process -ing system:" << sys << " (" << SystLabel[sys] << ")...done.\n" << std::flush;
860 }
int DEncand[dedefs::DEnsys][2]
Definition: L1Comparator.h:106
std::vector< L1DataEmulDigi > L1DEDigiCollection
Definition: DEtrait.h:101
bool DEmatchEvt[dedefs::DEnsys]
Definition: L1Comparator.h:105
const std::string SystLabel[DEnsys]
Definition: DEtrait.h:42
L1DEDigiCollection m_dedigis
Definition: L1Comparator.h:107
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
std::ofstream m_dumpFile
Definition: L1Comparator.h:102
tmp
align.sh
Definition: createJobs.py:716
template<class T >
void L1Comparator::process ( const edm::Handle< T data,
const edm::Handle< T emul,
const int  sys,
const int  cid 
)
inlineprivate

Definition at line 56 of file L1Comparator.h.

References CompareCollections(), data, dt, dumpCandidate(), edm::HandleBase::isValid(), process(), edm::Handle< T >::product(), and alignCSCRings::s.

56  {
57  if (data.isValid() && emul.isValid())
58  process(data.product(), emul.product(), sys, cid);
59  }
bool isValid() const
Definition: HandleBase.h:70
T const * product() const
Definition: Handle.h:69
void process(T const *, T const *, const int, const int)
void L1Comparator::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

– Get the data and emulated collections --------------------———

— done getting collections. —

processing : compare the pairs of collections

Definition at line 249 of file L1Comparator.cc.

References gather_cfg::cout, dedefs::DEnsys, dedefs::DTF, dedefs::DTP, dedefs::DTtftrk, dedefs::DTtpPh, dedefs::DTtpTh, edm::EventID::event(), dedefs::GCT, dedefs::GCTcenjets, dedefs::GCTethad, dedefs::GCTetmiss, dedefs::GCTettot, dedefs::GCTforjets, dedefs::GCThfbit, dedefs::GCThfring, dedefs::GCThtmiss, dedefs::GCTisolaem, dedefs::GCTisotaujets, dedefs::GCTnoisoem, dedefs::GCTtaujets, edm::Event::getByToken(), L1MuDTTrackContainer::getContainer(), L1MuDTChambPhContainer::getContainer(), L1MuDTChambThContainer::getContainer(), L1MuGMTReadoutCollection::getRecords(), dedefs::GMT, dedefs::GMTcnd, dedefs::GMTmain, dedefs::GMTrdt, mps_fire::i, edm::EventBase::id(), edm::HandleBase::isValid(), dqmiolumiharvest::j, dedefs::LTC, eostools::move(), edm::Event::put(), dedefs::RCT, dedefs::RCTem, dedefs::RCTrgn, record, dedefs::RPC, dedefs::RPCcen, dedefs::RPCfor, edm::EventID::run(), and verbose.

249  {
250  nevt_++;
251  evtNum_ = iEvent.id().event();
252  runNum_ = iEvent.id().run();
253 
254  if (verbose())
255  std::cout << "\nL1COMPARATOR entry:" << nevt_ << " | evt:" << evtNum_ << " | run:" << runNum_ << "\n" << std::flush;
256 
257  //flag whether event id has already been written to dumpFile
258  dumpEvent_ = true;
259 
260  //reset event holder quantities
261  for (int i = 0; i < DEnsys; i++) {
262  for (int j = 0; j < 2; j++)
263  DEncand[i][j] = 0;
264  DEmatchEvt[i] = true;
265  }
266  m_dedigis.clear();
267 
269 
270  // -- RCT [regional calorimeter trigger]
275  if (m_doSys[RCT]) {
276  iEvent.getByToken(tokenCaloEm_[0], rct_em_data);
277  iEvent.getByToken(tokenCaloEm_[1], rct_em_emul);
278  iEvent.getByToken(tokenCaloRegion_[0], rct_rgn_data);
279  iEvent.getByToken(tokenCaloRegion_[1], rct_rgn_emul);
280  }
281 
282  // -- GCT [global calorimeter trigger]
283  edm::Handle<L1GctEmCandCollection> gct_isolaem_data;
284  edm::Handle<L1GctEmCandCollection> gct_isolaem_emul;
285  edm::Handle<L1GctEmCandCollection> gct_noisoem_data;
286  edm::Handle<L1GctEmCandCollection> gct_noisoem_emul;
287  edm::Handle<L1GctJetCandCollection> gct_cenjets_data;
288  edm::Handle<L1GctJetCandCollection> gct_cenjets_emul;
289  edm::Handle<L1GctJetCandCollection> gct_forjets_data;
290  edm::Handle<L1GctJetCandCollection> gct_forjets_emul;
291  edm::Handle<L1GctJetCandCollection> gct_taujets_data;
292  edm::Handle<L1GctJetCandCollection> gct_taujets_emul;
293  edm::Handle<L1GctJetCandCollection> gct_isotaujets_data;
294  edm::Handle<L1GctJetCandCollection> gct_isotaujets_emul;
295 
298  edm::Handle<L1GctEtMissCollection> gct_etmiss_data;
299  edm::Handle<L1GctEtMissCollection> gct_etmiss_emul;
300  edm::Handle<L1GctEtTotalCollection> gct_ettota_data;
301  edm::Handle<L1GctEtTotalCollection> gct_ettota_emul;
302  edm::Handle<L1GctHtMissCollection> gct_htmiss_data;
303  edm::Handle<L1GctHtMissCollection> gct_htmiss_emul;
310 
311  if (m_doSys[GCT]) {
312  if (m_stage1_layer2_ == false) {
313  iEvent.getByToken(tokenGctEmCand_isoEm_[0], gct_isolaem_data);
314  iEvent.getByToken(tokenGctEmCand_isoEm_[1], gct_isolaem_emul);
315  iEvent.getByToken(tokenGctEmCand_nonIsoEm_[0], gct_noisoem_data);
316  iEvent.getByToken(tokenGctEmCand_nonIsoEm_[1], gct_noisoem_emul);
317  iEvent.getByToken(tokenGctJetCand_cenJets_[0], gct_cenjets_data);
318  iEvent.getByToken(tokenGctJetCand_cenJets_[1], gct_cenjets_emul);
319  iEvent.getByToken(tokenGctJetCand_forJets_[0], gct_forjets_data);
320  iEvent.getByToken(tokenGctJetCand_forJets_[1], gct_forjets_emul);
321  iEvent.getByToken(tokenGctJetCand_tauJets_[0], gct_taujets_data);
322  iEvent.getByToken(tokenGctJetCand_tauJets_[1], gct_taujets_emul);
323  iEvent.getByToken(tokenGctEtHad_[0], gct_ht_data);
324  iEvent.getByToken(tokenGctEtHad_[1], gct_ht_emul);
325  iEvent.getByToken(tokenGctEtMiss_[0], gct_etmiss_data);
326  iEvent.getByToken(tokenGctEtMiss_[1], gct_etmiss_emul);
327  iEvent.getByToken(tokenGctEtTotal_[0], gct_ettota_data);
328  iEvent.getByToken(tokenGctEtTotal_[1], gct_ettota_emul);
329  iEvent.getByToken(tokenGctHtMiss_[0], gct_htmiss_data);
330  iEvent.getByToken(tokenGctHtMiss_[1], gct_htmiss_emul);
331  iEvent.getByToken(tokenGctHFRingEtSums_[0], gct_hfring_data);
332  iEvent.getByToken(tokenGctHFRingEtSums_[1], gct_hfring_emul);
333  iEvent.getByToken(tokenGctHFBitCounts_[0], gct_hfbcnt_data);
334  iEvent.getByToken(tokenGctHFBitCounts_[1], gct_hfbcnt_emul);
335  iEvent.getByToken(tokenGctJetCounts_[0], gct_jetcnt_data);
336  iEvent.getByToken(tokenGctJetCounts_[1], gct_jetcnt_emul);
337  }
338  if (m_stage1_layer2_ == true) {
339  iEvent.getByToken(tokenGctEmCand_isoEm_[0], gct_isolaem_data);
340  iEvent.getByToken(tokenGctEmCand_isoEm_[1], gct_isolaem_emul);
341  iEvent.getByToken(tokenGctEmCand_nonIsoEm_[0], gct_noisoem_data);
342  iEvent.getByToken(tokenGctEmCand_nonIsoEm_[1], gct_noisoem_emul);
343  iEvent.getByToken(tokenGctJetCand_cenJets_[0], gct_cenjets_data);
344  iEvent.getByToken(tokenGctJetCand_cenJets_[1], gct_cenjets_emul);
345  iEvent.getByToken(tokenGctJetCand_forJets_[0], gct_forjets_data);
346  iEvent.getByToken(tokenGctJetCand_forJets_[1], gct_forjets_emul);
347  iEvent.getByToken(tokenGctJetCand_tauJets_[0], gct_taujets_data);
348  iEvent.getByToken(tokenGctJetCand_tauJets_[1], gct_taujets_emul);
349  iEvent.getByToken(tokenGctJetCand_isoTauJets_[0], gct_isotaujets_data);
350  iEvent.getByToken(tokenGctJetCand_isoTauJets_[1], gct_isotaujets_emul);
351  iEvent.getByToken(tokenGctEtHad_[0], gct_ht_data);
352  iEvent.getByToken(tokenGctEtHad_[1], gct_ht_emul);
353  iEvent.getByToken(tokenGctEtMiss_[0], gct_etmiss_data);
354  iEvent.getByToken(tokenGctEtMiss_[1], gct_etmiss_emul);
355  iEvent.getByToken(tokenGctEtTotal_[0], gct_ettota_data);
356  iEvent.getByToken(tokenGctEtTotal_[1], gct_ettota_emul);
357  iEvent.getByToken(tokenGctHtMiss_[0], gct_htmiss_data);
358  iEvent.getByToken(tokenGctHtMiss_[1], gct_htmiss_emul);
359  iEvent.getByToken(tokenGctHFRingEtSums_[0], gct_hfring_data);
360  iEvent.getByToken(tokenGctHFRingEtSums_[1], gct_hfring_emul);
361  iEvent.getByToken(tokenGctHFBitCounts_[0], gct_hfbcnt_data);
362  iEvent.getByToken(tokenGctHFBitCounts_[1], gct_hfbcnt_emul);
363  iEvent.getByToken(tokenGctJetCounts_[0], gct_jetcnt_data);
364  iEvent.getByToken(tokenGctJetCounts_[1], gct_jetcnt_emul);
365  }
366  }
367 
368  // -- DTP [drift tube trigger primitive]
373  if (m_doSys[DTP]) {
374  iEvent.getByToken(tokenMuDTChambPh_[0], dtp_ph_data_);
375  iEvent.getByToken(tokenMuDTChambPh_[1], dtp_ph_emul_);
376  iEvent.getByToken(tokenMuDTChambTh_[0], dtp_th_data_);
377  iEvent.getByToken(tokenMuDTChambTh_[1], dtp_th_emul_);
378  }
379  L1MuDTChambPhDigiCollection const* dtp_ph_data = nullptr;
380  L1MuDTChambPhDigiCollection const* dtp_ph_emul = nullptr;
381  L1MuDTChambThDigiCollection const* dtp_th_data = nullptr;
382  L1MuDTChambThDigiCollection const* dtp_th_emul = nullptr;
383 
384  if (dtp_ph_data_.isValid())
385  dtp_ph_data = dtp_ph_data_->getContainer();
386  if (dtp_ph_emul_.isValid())
387  dtp_ph_emul = dtp_ph_emul_->getContainer();
388  if (dtp_th_data_.isValid())
389  dtp_th_data = dtp_th_data_->getContainer();
390  if (dtp_th_emul_.isValid())
391  dtp_th_emul = dtp_th_emul_->getContainer();
392 
393  // -- DTF [drift tube track finder]
394  edm::Handle<L1MuDTTrackContainer> dtf_trk_data_;
395  edm::Handle<L1MuDTTrackContainer> dtf_trk_emul_;
396  L1MuRegionalCandCollection const* dtf_trk_data = nullptr;
397  L1MuRegionalCandCollection const* dtf_trk_emul = nullptr;
398  if (m_doSys[DTF]) {
399  iEvent.getByToken(tokenMuDTTrack_[0], dtf_trk_data_);
400  iEvent.getByToken(tokenMuDTTrack_[1], dtf_trk_emul_);
401  }
402  //extract the regional cands
403  typedef std::vector<L1MuDTTrackCand> L1MuDTTrackCandCollection;
404  L1MuRegionalCandCollection dtf_trk_data_v, dtf_trk_emul_v;
405  dtf_trk_data_v.clear();
406  dtf_trk_emul_v.clear();
407  if (dtf_trk_data_.isValid()) {
408  L1MuDTTrackCandCollection const* dttc = dtf_trk_data_->getContainer();
409  for (L1MuDTTrackCandCollection::const_iterator it = dttc->begin(); it != dttc->end(); it++)
410  dtf_trk_data_v.push_back(L1MuRegionalCand(*it));
411  }
412  if (dtf_trk_emul_.isValid()) {
413  L1MuDTTrackCandCollection const* dttc = dtf_trk_emul_->getContainer();
414  for (L1MuDTTrackCandCollection::const_iterator it = dttc->begin(); it != dttc->end(); it++)
415  dtf_trk_emul_v.push_back(L1MuRegionalCand(*it));
416  }
417  dtf_trk_data = &dtf_trk_data_v;
418  dtf_trk_emul = &dtf_trk_emul_v;
419 
420  // -- RPC [resistive plate chambers regional trigger]
425  if (m_doSys[RPC]) {
426  iEvent.getByToken(tokenMuRegionalCandRPCb_[0], rpc_cen_data);
427  iEvent.getByToken(tokenMuRegionalCandRPCb_[1], rpc_cen_emul);
428  iEvent.getByToken(tokenMuRegionalCandRPCf_[0], rpc_for_data);
429  iEvent.getByToken(tokenMuRegionalCandRPCf_[1], rpc_for_emul);
430  }
431 
432  // -- LTC [local trigger controller]
435  if (m_doSys[LTC]) {
436  iEvent.getByToken(tokenLTCDigi_[0], ltc_data);
437  iEvent.getByToken(tokenLTCDigi_[1], ltc_emul);
438  }
439 
440  // -- GMT [global muon trigger]
447  //tbd: may compare extended candidates
448  L1MuGMTCandCollection const* gmt_can_data(new L1MuGMTCandCollection);
449  L1MuGMTCandCollection const* gmt_can_emul(new L1MuGMTCandCollection);
450  if (m_doSys[GMT]) {
451  iEvent.getByToken(tokenMuGMTCand_[0], gmt_data);
452  iEvent.getByToken(tokenMuGMTCand_[1], gmt_emul);
453  iEvent.getByToken(tokenMuReadoutCand_[0], gmt_rdt_data_);
454  iEvent.getByToken(tokenMuReadoutCand_[1], gmt_rdt_emul_);
455  }
456  L1MuGMTCandCollection gmt_can_data_vec, gmt_can_emul_vec;
457  L1MuRegionalCandCollection gmt_rdt_data_vec, gmt_rdt_emul_vec;
458  gmt_can_data_vec.clear();
459  gmt_can_emul_vec.clear();
460  gmt_rdt_data_vec.clear();
461  gmt_rdt_emul_vec.clear();
462  if (gmt_rdt_data_.isValid() && gmt_rdt_emul_.isValid()) {
463  typedef std::vector<L1MuGMTReadoutRecord>::const_iterator GmtRrIt;
464  //get record vector for data
465  std::vector<L1MuGMTReadoutRecord> gmt_rdt_data_bx = gmt_rdt_data_->getRecords();
466  for (GmtRrIt igmtrr = gmt_rdt_data_bx.begin(); igmtrr != gmt_rdt_data_bx.end(); igmtrr++) {
467  //get gmt cands
468  typedef std::vector<L1MuGMTExtendedCand>::const_iterator GmtECIt;
469  std::vector<L1MuGMTExtendedCand> gmc;
470  gmc = igmtrr->getGMTCands();
471  for (GmtECIt iter1 = gmc.begin(); iter1 != gmc.end(); iter1++) {
472  L1MuGMTCand cand(iter1->getDataWord(), iter1->bx());
473  cand.setPhiValue(iter1->phiValue());
474  cand.setEtaValue(iter1->etaValue());
475  cand.setPtValue(iter1->ptValue());
476  gmt_can_data_vec.push_back(cand);
477  }
478  //get reg cands
479  typedef L1MuRegionalCandCollection::const_iterator GmtRCIt;
481  rmc.clear();
482  rmc = igmtrr->getDTBXCands();
483  gmt_rdt_data_vec.insert(gmt_rdt_data_vec.end(), rmc.begin(), rmc.end());
484  rmc.clear();
485  rmc = igmtrr->getCSCCands();
486  gmt_rdt_data_vec.insert(gmt_rdt_data_vec.end(), rmc.begin(), rmc.end());
487  rmc.clear();
488  rmc = igmtrr->getBrlRPCCands();
489  gmt_rdt_data_vec.insert(gmt_rdt_data_vec.end(), rmc.begin(), rmc.end());
490  rmc.clear();
491  rmc = igmtrr->getFwdRPCCands();
492  gmt_rdt_data_vec.insert(gmt_rdt_data_vec.end(), rmc.begin(), rmc.end());
493  }
494  //get record vector for emul
495  std::vector<L1MuGMTReadoutRecord> gmt_rdt_emul_bx = gmt_rdt_emul_->getRecords();
496  for (GmtRrIt igmtrr = gmt_rdt_emul_bx.begin(); igmtrr != gmt_rdt_emul_bx.end(); igmtrr++) {
497  //get gmt cands
498  typedef std::vector<L1MuGMTExtendedCand>::const_iterator GmtECIt;
499  std::vector<L1MuGMTExtendedCand> gmc;
500  gmc = igmtrr->getGMTCands();
501  for (GmtECIt iter1 = gmc.begin(); iter1 != gmc.end(); iter1++) {
502  gmt_can_emul_vec.push_back(L1MuGMTCand(iter1->getDataWord(), iter1->bx()));
503  }
504  //get reg cands
505  typedef L1MuRegionalCandCollection::const_iterator GmtRCIt;
507  rmc.clear();
508  rmc = igmtrr->getDTBXCands();
509  gmt_rdt_emul_vec.insert(gmt_rdt_emul_vec.end(), rmc.begin(), rmc.end());
510  rmc.clear();
511  rmc = igmtrr->getCSCCands();
512  gmt_rdt_emul_vec.insert(gmt_rdt_emul_vec.end(), rmc.begin(), rmc.end());
513  rmc.clear();
514  rmc = igmtrr->getBrlRPCCands();
515  gmt_rdt_emul_vec.insert(gmt_rdt_emul_vec.end(), rmc.begin(), rmc.end());
516  rmc.clear();
517  rmc = igmtrr->getFwdRPCCands();
518  gmt_rdt_emul_vec.insert(gmt_rdt_emul_vec.end(), rmc.begin(), rmc.end());
519  }
520  }
521  gmt_rdt_data = &gmt_rdt_data_vec;
522  gmt_rdt_emul = &gmt_rdt_emul_vec;
523  gmt_can_data = &gmt_can_data_vec;
524  gmt_can_emul = &gmt_can_emul_vec;
525 
527 
528  //check collections validity
529  bool isValidDE[DEnsys][2]; // = {false};
530  for (int i = 0; i < DEnsys; i++)
531  for (int j = 0; j < 2; j++)
532  isValidDE[i][j] = false;
533 
534  isValidDE[RCT][0] = rct_em_data.isValid();
535  isValidDE[RCT][1] = rct_em_emul.isValid();
536  isValidDE[RCT][0] &= rct_rgn_data.isValid();
537  isValidDE[RCT][1] = rct_rgn_emul.isValid();
538 
539  if (m_stage1_layer2_ == false) {
540  isValidDE[GCT][0] = gct_isolaem_data.isValid();
541  isValidDE[GCT][1] = gct_isolaem_emul.isValid();
542  isValidDE[GCT][0] &= gct_noisoem_data.isValid();
543  isValidDE[GCT][1] &= gct_noisoem_emul.isValid();
544  isValidDE[GCT][0] &= gct_cenjets_data.isValid();
545  isValidDE[GCT][1] &= gct_cenjets_emul.isValid();
546  isValidDE[GCT][0] &= gct_forjets_data.isValid();
547  isValidDE[GCT][1] &= gct_forjets_emul.isValid();
548  isValidDE[GCT][0] &= gct_taujets_data.isValid();
549  isValidDE[GCT][1] &= gct_taujets_emul.isValid();
550  isValidDE[GCT][0] &= gct_etmiss_data.isValid();
551  isValidDE[GCT][1] &= gct_etmiss_emul.isValid();
552  isValidDE[GCT][0] &= gct_ettota_data.isValid();
553  isValidDE[GCT][1] &= gct_ettota_emul.isValid();
554  isValidDE[GCT][0] &= gct_htmiss_data.isValid();
555  isValidDE[GCT][1] &= gct_htmiss_emul.isValid();
556  isValidDE[GCT][0] &= gct_hfring_data.isValid();
557  isValidDE[GCT][1] &= gct_hfring_emul.isValid();
558  isValidDE[GCT][0] &= gct_hfbcnt_data.isValid();
559  isValidDE[GCT][1] &= gct_hfbcnt_emul.isValid();
560  //isValidDE[GCT][0]&= gct_jetcnt_data .isValid(); isValidDE[GCT][1]&= gct_jetcnt_emul .isValid(); #temporary
561  }
562  if (m_stage1_layer2_ == true) {
563  isValidDE[GCT][0] = gct_isolaem_data.isValid();
564  isValidDE[GCT][1] = gct_isolaem_emul.isValid();
565  isValidDE[GCT][0] &= gct_noisoem_data.isValid();
566  isValidDE[GCT][1] &= gct_noisoem_emul.isValid();
567  isValidDE[GCT][0] &= gct_cenjets_data.isValid();
568  isValidDE[GCT][1] &= gct_cenjets_emul.isValid();
569  isValidDE[GCT][0] &= gct_forjets_data.isValid();
570  isValidDE[GCT][1] &= gct_forjets_emul.isValid();
571  isValidDE[GCT][0] &= gct_taujets_data.isValid();
572  isValidDE[GCT][1] &= gct_taujets_emul.isValid();
573  isValidDE[GCT][0] &= gct_isotaujets_data.isValid();
574  isValidDE[GCT][1] &= gct_isotaujets_emul.isValid();
575  isValidDE[GCT][0] &= gct_etmiss_data.isValid();
576  isValidDE[GCT][1] &= gct_etmiss_emul.isValid();
577  isValidDE[GCT][0] &= gct_ettota_data.isValid();
578  isValidDE[GCT][1] &= gct_ettota_emul.isValid();
579  isValidDE[GCT][0] &= gct_htmiss_data.isValid();
580  isValidDE[GCT][1] &= gct_htmiss_emul.isValid();
581  isValidDE[GCT][0] &= gct_hfring_data.isValid();
582  isValidDE[GCT][1] &= gct_hfring_emul.isValid();
583  isValidDE[GCT][0] &= gct_hfbcnt_data.isValid();
584  isValidDE[GCT][1] &= gct_hfbcnt_emul.isValid();
585  }
586  isValidDE[DTP][0] = dtp_ph_data_.isValid();
587  isValidDE[DTP][1] = dtp_ph_emul_.isValid();
588  isValidDE[DTP][0] &= dtp_th_data_.isValid();
589  isValidDE[DTP][1] &= dtp_th_emul_.isValid();
590 
591  isValidDE[DTF][0] = dtf_trk_data_.isValid();
592  isValidDE[DTF][1] = dtf_trk_emul_.isValid();
593 
594  isValidDE[RPC][0] = rpc_cen_data.isValid();
595  isValidDE[RPC][1] = rpc_cen_emul.isValid();
596  isValidDE[RPC][0] &= rpc_for_data.isValid();
597  isValidDE[RPC][1] &= rpc_for_emul.isValid();
598 
599  isValidDE[LTC][0] = ltc_data.isValid();
600  isValidDE[LTC][1] = ltc_emul.isValid();
601 
602  isValidDE[GMT][0] = gmt_data.isValid();
603  isValidDE[GMT][1] = gmt_emul.isValid();
604  //isValidDE[GMT][0]&= gmt_rdt_data_.isValid(); isValidDE[GMT][1]&= gmt_rdt_emul_.isValid();
605 
606  bool isValid[DEnsys];
607  for (int i = 0; i < DEnsys; i++) {
608  isValid[i] = true;
609  for (int j = 0; j < 2; j++) {
610  isValid[i] &= isValidDE[i][j];
611  }
612  }
613 
614  if (verbose()) {
615  std::cout << "L1Comparator sys isValid? (evt:" << nevt_ << ") ";
616  std::cout << "\n\t&: ";
617  for (int i = 0; i < DEnsys; i++)
618  std::cout << isValid[i] << " ";
619  std::cout << "\n\td: ";
620  for (int i = 0; i < DEnsys; i++)
621  std::cout << isValidDE[i][0] << " ";
622  std::cout << "\n\te: ";
623  for (int i = 0; i < DEnsys; i++)
624  std::cout << isValidDE[i][1] << " ";
625  std::cout << std::endl;
626  }
627 
628  //reset flags...
629  //for(int i=0; i<DEnsys; i++) isValid[i]=true;
630 
631  if (verbose())
632  std::cout << "L1Comparator start processing the collections.\n" << std::flush;
633 
635  if (m_doSys[RCT] && isValid[RCT])
636  process<L1CaloEmCollection>(rct_em_data, rct_em_emul, RCT, RCTem);
637  if (m_doSys[RCT] && isValid[RCT])
638  process<L1CaloRegionCollection>(rct_rgn_data, rct_rgn_emul, RCT, RCTrgn);
639 
640  if (m_stage1_layer2_ == false) {
641  if (m_doSys[GCT] && isValid[GCT])
642  process<L1GctEmCandCollection>(gct_isolaem_data, gct_isolaem_emul, GCT, GCTisolaem);
643  if (m_doSys[GCT] && isValid[GCT])
644  process<L1GctEmCandCollection>(gct_noisoem_data, gct_noisoem_emul, GCT, GCTnoisoem);
645  if (m_doSys[GCT] && isValid[GCT])
646  process<L1GctJetCandCollection>(gct_cenjets_data, gct_cenjets_emul, GCT, GCTcenjets);
647  if (m_doSys[GCT] && isValid[GCT])
648  process<L1GctJetCandCollection>(gct_forjets_data, gct_forjets_emul, GCT, GCTforjets);
649  if (m_doSys[GCT] && isValid[GCT])
650  process<L1GctJetCandCollection>(gct_taujets_data, gct_taujets_emul, GCT, GCTtaujets);
651  if (m_doSys[GCT] && isValid[GCT])
652  process<L1GctEtHadCollection>(gct_ht_data, gct_ht_emul, GCT, GCTethad);
653  if (m_doSys[GCT] && isValid[GCT])
654  process<L1GctEtMissCollection>(gct_etmiss_data, gct_etmiss_emul, GCT, GCTetmiss);
655  if (m_doSys[GCT] && isValid[GCT])
656  process<L1GctEtTotalCollection>(gct_ettota_data, gct_ettota_emul, GCT, GCTettot);
657  if (m_doSys[GCT] && isValid[GCT])
658  process<L1GctHtMissCollection>(gct_htmiss_data, gct_htmiss_emul, GCT, GCThtmiss);
659  if (m_doSys[GCT] && isValid[GCT])
660  process<L1GctHFRingEtSumsCollection>(gct_hfring_data, gct_hfring_emul, GCT, GCThfring);
661  if (m_doSys[GCT] && isValid[GCT])
662  process<L1GctHFBitCountsCollection>(gct_hfbcnt_data, gct_hfbcnt_emul, GCT, GCThfbit);
663  //if(m_doSys[GCT]&&isValid[GCT]) process<L1GctJetCountsCollection> ( gct_jetcnt_data, gct_jetcnt_emul, GCT,GCTjetcnt);#missing in emulator
664  }
665  if (m_stage1_layer2_ == true) {
666  if (m_doSys[GCT] && isValid[GCT])
667  process<L1GctEmCandCollection>(gct_isolaem_data, gct_isolaem_emul, GCT, GCTisolaem);
668  if (m_doSys[GCT] && isValid[GCT])
669  process<L1GctEmCandCollection>(gct_noisoem_data, gct_noisoem_emul, GCT, GCTnoisoem);
670  if (m_doSys[GCT] && isValid[GCT])
671  process<L1GctJetCandCollection>(gct_cenjets_data, gct_cenjets_emul, GCT, GCTcenjets);
672  if (m_doSys[GCT] && isValid[GCT])
673  process<L1GctJetCandCollection>(gct_forjets_data, gct_forjets_emul, GCT, GCTforjets);
674  if (m_doSys[GCT] && isValid[GCT])
675  process<L1GctJetCandCollection>(gct_taujets_data, gct_taujets_emul, GCT, GCTtaujets);
676  if (m_doSys[GCT] && isValid[GCT])
677  process<L1GctJetCandCollection>(gct_isotaujets_data, gct_isotaujets_emul, GCT, GCTisotaujets);
678  if (m_doSys[GCT] && isValid[GCT])
679  process<L1GctEtHadCollection>(gct_ht_data, gct_ht_emul, GCT, GCTethad);
680  if (m_doSys[GCT] && isValid[GCT])
681  process<L1GctEtMissCollection>(gct_etmiss_data, gct_etmiss_emul, GCT, GCTetmiss);
682  if (m_doSys[GCT] && isValid[GCT])
683  process<L1GctEtTotalCollection>(gct_ettota_data, gct_ettota_emul, GCT, GCTettot);
684  if (m_doSys[GCT] && isValid[GCT])
685  process<L1GctHtMissCollection>(gct_htmiss_data, gct_htmiss_emul, GCT, GCThtmiss);
686  if (m_doSys[GCT] && isValid[GCT])
687  process<L1GctHFRingEtSumsCollection>(gct_hfring_data, gct_hfring_emul, GCT, GCThfring);
688  if (m_doSys[GCT] && isValid[GCT])
689  process<L1GctHFBitCountsCollection>(gct_hfbcnt_data, gct_hfbcnt_emul, GCT, GCThfbit);
690  //if(m_doSys[GCT]&&isValid[GCT]) process<L1GctJetCountsCollection> ( gct_jetcnt_data, gct_jetcnt_emul, GCT,GCTjetcnt);#missing in emulator
691  }
692 
693  if (m_doSys[DTP] && isValid[DTP])
694  process<L1MuDTChambPhDigiCollection>(dtp_ph_data, dtp_ph_emul, DTP, DTtpPh);
695  if (m_doSys[DTP] && isValid[DTP])
696  process<L1MuDTChambThDigiCollection>(dtp_th_data, dtp_th_emul, DTP, DTtpTh);
697 
698  if (m_doSys[DTF] && isValid[DTF])
699  process<L1MuRegionalCandCollection>(dtf_trk_data, dtf_trk_emul, DTF, DTtftrk);
700 
701  if (m_doSys[RPC] && isValid[RPC])
702  process<L1MuRegionalCandCollection>(rpc_cen_data, rpc_cen_emul, RPC, RPCcen);
703  if (m_doSys[RPC] && isValid[RPC])
704  process<L1MuRegionalCandCollection>(rpc_for_data, rpc_for_emul, RPC, RPCfor);
705 
706  if (m_doSys[GMT] && isValid[GMT])
707  process<L1MuGMTCandCollection>(gmt_data, gmt_emul, GMT, GMTmain);
708  if (m_doSys[GMT] && isValid[GMT])
709  process<L1MuRegionalCandCollection>(gmt_rdt_data, gmt_rdt_emul, GMT, GMTrdt);
710  if (m_doSys[GMT] && isValid[GMT])
711  process<L1MuGMTCandCollection>(gmt_can_data, gmt_can_emul, GMT, GMTcnd);
712 
713  // >>---- GLT ---- <<
714  GltDEDigi gltdigimon;
715 
716  if (verbose())
717  std::cout << "L1Comparator done processing all collections.\n" << std::flush;
718 
719  if (verbose()) {
720  std::cout << "[L1Comparator] sys match? << evt." << nevt_ << ": ";
721  for (int i = 0; i < DEnsys; i++)
722  std::cout << DEmatchEvt[i] << " ";
723  std::cout << std::endl;
724  }
725 
726  // >>---- Event match? ---- <<
727 
728  bool evt_match = true;
729  for (int i = 0; i < DEnsys; i++)
730  evt_match &= DEmatchEvt[i];
731 
732  /* char ok[10];
733  if(evt_match) sprintf(ok,"GOOD :]");
734  else sprintf(ok,"BAD !!!");
735  char dumptofile[1000];
736  sprintf(dumptofile,"\n -> event data and emulator match... %s\n", ok);
737  m_dumpFile<<dumptofile;
738  */
739 
740  // >>---- Global match? ---- <<
741  m_match &= evt_match;
742  m_dumpFile << std::flush;
743 
744  //if collection is empty, add empty digi
745  if (m_dedigis.empty()) {
746  if (verbose())
747  std::cout << "\n [L1Comparator] adding empty collection to DErecord\n";
748  m_dedigis.push_back(L1DataEmulDigi());
749  }
750 
751  // >>---- d|e record ---- <<
752  std::unique_ptr<L1DataEmulRecord> record(
753  new L1DataEmulRecord(evt_match, m_doSys, DEmatchEvt, DEncand, m_dedigis, gltdigimon));
754  if (verbose()) {
755  std::cout << "\n [L1Comparator] printing DErecord"
756  << "(entry:" << nevt_ << "|evt:" << evtNum_ << "|run:" << runNum_ << "):\n"
757  << std::flush;
758  std::cout << *record << "\n" << std::flush;
759  }
760 
761  iEvent.put(std::move(record));
762 
763  if (verbose())
764  std::cout << "L1comparator::analize() end. " << nevt_ << std::endl;
765 }
RunNumber_t run() const
Definition: EventID.h:38
EventNumber_t event() const
Definition: EventID.h:40
The_Container const * getContainer() const
edm::EDGetTokenT< L1GctEmCandCollection > tokenGctEmCand_nonIsoEm_[2]
Definition: L1Comparator.h:79
edm::EDGetTokenT< LTCDigiCollection > tokenLTCDigi_[2]
Definition: L1Comparator.h:93
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
const int DEnsys
Definition: DEtrait.h:38
edm::EDGetTokenT< L1GctEtHadCollection > tokenGctEtHad_[2]
Definition: L1Comparator.h:85
edm::EDGetTokenT< L1MuRegionalCandCollection > tokenMuRegionalCandRPCb_[2]
Definition: L1Comparator.h:95
int DEncand[dedefs::DEnsys][2]
Definition: L1Comparator.h:106
JetCorrectorParameters::Record record
Definition: classes.h:7
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< L1GctJetCountsCollection > tokenGctJetCounts_[2]
Definition: L1Comparator.h:90
edm::EDGetTokenT< L1GctEtMissCollection > tokenGctEtMiss_[2]
Definition: L1Comparator.h:86
edm::EDGetTokenT< L1GctHFBitCountsCollection > tokenGctHFBitCounts_[2]
Definition: L1Comparator.h:88
edm::EDGetTokenT< L1MuDTChambThContainer > tokenMuDTChambTh_[2]
Definition: L1Comparator.h:92
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_tauJets_[2]
Definition: L1Comparator.h:82
bool m_stage1_layer2_
Definition: L1Comparator.h:67
edm::EDGetTokenT< L1MuGMTReadoutCollection > tokenMuReadoutCand_[2]
Definition: L1Comparator.h:98
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_isoTauJets_[2]
Definition: L1Comparator.h:83
edm::EDGetTokenT< L1MuRegionalCandCollection > tokenMuRegionalCandRPCf_[2]
Definition: L1Comparator.h:96
edm::EDGetTokenT< L1GctEtTotalCollection > tokenGctEtTotal_[2]
Definition: L1Comparator.h:84
edm::EDGetTokenT< L1CaloEmCollection > tokenCaloEm_[2]
Definition: L1Comparator.h:76
bool isValid() const
Definition: HandleBase.h:70
std::vector< L1MuDTChambThDigi > L1MuDTChambThDigiCollection
Definition: DEtrait.h:93
std::vector< L1MuRegionalCand > L1MuRegionalCandCollection
edm::EDGetTokenT< L1MuDTChambPhContainer > tokenMuDTChambPh_[2]
Definition: L1Comparator.h:91
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_cenJets_[2]
Definition: L1Comparator.h:80
std::vector< L1MuDTChambPhDigi > L1MuDTChambPhDigiCollection
Definition: DEtrait.h:92
edm::EDGetTokenT< L1GctHFRingEtSumsCollection > tokenGctHFRingEtSums_[2]
Definition: L1Comparator.h:87
Phi_Container const * getContainer() const
edm::EDGetTokenT< L1GctJetCandCollection > tokenGctJetCand_forJets_[2]
Definition: L1Comparator.h:81
edm::EDGetTokenT< L1GctHtMissCollection > tokenGctHtMiss_[2]
Definition: L1Comparator.h:89
edm::EDGetTokenT< L1CaloRegionCollection > tokenCaloRegion_[2]
Definition: L1Comparator.h:77
bool DEmatchEvt[dedefs::DEnsys]
Definition: L1Comparator.h:105
L1DEDigiCollection m_dedigis
Definition: L1Comparator.h:107
edm::EventID id() const
Definition: EventBase.h:59
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
std::ofstream m_dumpFile
Definition: L1Comparator.h:102
edm::EDGetTokenT< L1MuDTTrackContainer > tokenMuDTTrack_[2]
Definition: L1Comparator.h:94
edm::EDGetTokenT< L1GctEmCandCollection > tokenGctEmCand_isoEm_[2]
Definition: L1Comparator.h:78
TrackContainer const * getContainer() const
def move(src, dest)
Definition: eostools.py:511
std::vector< L1MuGMTCand > L1MuGMTCandCollection
Definition: DEtrait.h:99
edm::EDGetTokenT< L1MuGMTCandCollection > tokenMuGMTCand_[2]
Definition: L1Comparator.h:97
bool m_doSys[dedefs::DEnsys]
Definition: L1Comparator.h:100
int L1Comparator::verbose ( )
inlineprivate

Definition at line 66 of file L1Comparator.h.

References verbose_.

66 { return verbose_; }

Member Data Documentation

bool L1Comparator::DEmatchEvt[dedefs::DEnsys]
private

Definition at line 105 of file L1Comparator.h.

int L1Comparator::DEncand[dedefs::DEnsys][2]
private

Definition at line 106 of file L1Comparator.h.

bool L1Comparator::dumpEvent_
private

Definition at line 74 of file L1Comparator.h.

int L1Comparator::evtNum_
private

Definition at line 71 of file L1Comparator.h.

L1DEDigiCollection L1Comparator::m_dedigis
private

Definition at line 107 of file L1Comparator.h.

bool L1Comparator::m_doSys[dedefs::DEnsys]
private

Definition at line 100 of file L1Comparator.h.

std::ofstream L1Comparator::m_dumpFile
private

Definition at line 102 of file L1Comparator.h.

std::string L1Comparator::m_dumpFileName
private

Definition at line 101 of file L1Comparator.h.

int L1Comparator::m_dumpMode
private

Definition at line 103 of file L1Comparator.h.

bool L1Comparator::m_match
private

Definition at line 104 of file L1Comparator.h.

bool L1Comparator::m_stage1_layer2_
private

Definition at line 67 of file L1Comparator.h.

int L1Comparator::nevt_
private

Definition at line 70 of file L1Comparator.h.

int L1Comparator::runNum_
private

Definition at line 72 of file L1Comparator.h.

edm::EDGetTokenT<L1CaloEmCollection> L1Comparator::tokenCaloEm_[2]
private

Definition at line 76 of file L1Comparator.h.

edm::EDGetTokenT<L1CaloRegionCollection> L1Comparator::tokenCaloRegion_[2]
private

Definition at line 77 of file L1Comparator.h.

edm::EDGetTokenT<L1GctEmCandCollection> L1Comparator::tokenGctEmCand_isoEm_[2]
private

Definition at line 78 of file L1Comparator.h.

edm::EDGetTokenT<L1GctEmCandCollection> L1Comparator::tokenGctEmCand_nonIsoEm_[2]
private

Definition at line 79 of file L1Comparator.h.

edm::EDGetTokenT<L1GctEtHadCollection> L1Comparator::tokenGctEtHad_[2]
private

Definition at line 85 of file L1Comparator.h.

edm::EDGetTokenT<L1GctEtMissCollection> L1Comparator::tokenGctEtMiss_[2]
private

Definition at line 86 of file L1Comparator.h.

edm::EDGetTokenT<L1GctEtTotalCollection> L1Comparator::tokenGctEtTotal_[2]
private

Definition at line 84 of file L1Comparator.h.

edm::EDGetTokenT<L1GctHFBitCountsCollection> L1Comparator::tokenGctHFBitCounts_[2]
private

Definition at line 88 of file L1Comparator.h.

edm::EDGetTokenT<L1GctHFRingEtSumsCollection> L1Comparator::tokenGctHFRingEtSums_[2]
private

Definition at line 87 of file L1Comparator.h.

edm::EDGetTokenT<L1GctHtMissCollection> L1Comparator::tokenGctHtMiss_[2]
private

Definition at line 89 of file L1Comparator.h.

edm::EDGetTokenT<L1GctJetCandCollection> L1Comparator::tokenGctJetCand_cenJets_[2]
private

Definition at line 80 of file L1Comparator.h.

edm::EDGetTokenT<L1GctJetCandCollection> L1Comparator::tokenGctJetCand_forJets_[2]
private

Definition at line 81 of file L1Comparator.h.

edm::EDGetTokenT<L1GctJetCandCollection> L1Comparator::tokenGctJetCand_isoTauJets_[2]
private

Definition at line 83 of file L1Comparator.h.

edm::EDGetTokenT<L1GctJetCandCollection> L1Comparator::tokenGctJetCand_tauJets_[2]
private

Definition at line 82 of file L1Comparator.h.

edm::EDGetTokenT<L1GctJetCountsCollection> L1Comparator::tokenGctJetCounts_[2]
private

Definition at line 90 of file L1Comparator.h.

edm::EDGetTokenT<LTCDigiCollection> L1Comparator::tokenLTCDigi_[2]
private

Definition at line 93 of file L1Comparator.h.

edm::EDGetTokenT<L1MuDTChambPhContainer> L1Comparator::tokenMuDTChambPh_[2]
private

Definition at line 91 of file L1Comparator.h.

edm::EDGetTokenT<L1MuDTChambThContainer> L1Comparator::tokenMuDTChambTh_[2]
private

Definition at line 92 of file L1Comparator.h.

edm::EDGetTokenT<L1MuDTTrackContainer> L1Comparator::tokenMuDTTrack_[2]
private

Definition at line 94 of file L1Comparator.h.

edm::EDGetTokenT<L1MuGMTCandCollection> L1Comparator::tokenMuGMTCand_[2]
private

Definition at line 97 of file L1Comparator.h.

edm::EDGetTokenT<L1MuGMTReadoutCollection> L1Comparator::tokenMuReadoutCand_[2]
private

Definition at line 98 of file L1Comparator.h.

edm::EDGetTokenT<L1MuRegionalCandCollection> L1Comparator::tokenMuRegionalCandRPCb_[2]
private

Definition at line 95 of file L1Comparator.h.

edm::EDGetTokenT<L1MuRegionalCandCollection> L1Comparator::tokenMuRegionalCandRPCf_[2]
private

Definition at line 96 of file L1Comparator.h.

int L1Comparator::verbose_
private

Definition at line 73 of file L1Comparator.h.

Referenced by verbose().