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 ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- 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 ()
 
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, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
 
virtual ~ProducerBase () noexcept(false)
 
- 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
 
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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

virtual void beginJob (void) override
 
virtual void beginRun (edm::Run const &, const edm::EventSetup &) override 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)
 
virtual 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)
 
virtual 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
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)
 
- 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 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 41 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, edm::InputTag::label(), diffTwoXMLs::label, dedefs::LTC, MillePedeFileConverter_cfg::out, dedefs::RCT, dedefs::RPC, AlCaHLTBitMon_QueryRunRegistry::string, dedefs::SystLabel, GlobalPosition_Frontier_DevDB_cff::tag, and verbose.

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

Definition at line 192 of file L1Comparator.cc.

192 {}

Member Function Documentation

void L1Comparator::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 194 of file L1Comparator.cc.

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

Definition at line 196 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.

196  {
197 
198  if(verbose())
199  std::cout << "\nL1COMPARATOR beginRun...\n" << std::flush;
200 
201 
202  // disable subsystem if not included in current run configuration
203  try
204  {
206  iSetup.get< L1TriggerKeyRcd >().get( pKey ) ;
207 
208  m_doSys[RCT] &= (!(pKey->subsystemKey( L1TriggerKey::kRCT) .empty()));
209  m_doSys[GCT] &= (!(pKey->subsystemKey( L1TriggerKey::kGCT) .empty()));
210  m_doSys[DTF] &= (!(pKey->subsystemKey( L1TriggerKey::kDTTF) .empty()));
211  m_doSys[CTF] &= (!(pKey->subsystemKey( L1TriggerKey::kCSCTF).empty()));
212  m_doSys[RPC] &= (!(pKey->subsystemKey( L1TriggerKey::kRPC) .empty()));
213  m_doSys[GMT] &= (!(pKey->subsystemKey( L1TriggerKey::kGMT) .empty()));
214  m_doSys[GLT] &= (!(pKey->subsystemKey( L1TriggerKey::kGT) .empty()));
215 
216  if(verbose()) {
217  if ( pKey->subsystemKey( L1TriggerKey::kRCT ).empty() )
218  std::cout << "RCT key is empty. Sub-systems is disabled ("<<m_doSys[RCT]<<")\n";
219  if ( pKey->subsystemKey( L1TriggerKey::kGCT ).empty() )
220  std::cout << "GCT key is empty. Sub-systems is disabled ("<<m_doSys[GCT]<<")\n";
221  if ( pKey->subsystemKey( L1TriggerKey::kDTTF ).empty() )
222  std::cout << "DTTF key is empty. Sub-systems is disabled ("<<m_doSys[DTF]<<")\n";
223  if ( pKey->subsystemKey( L1TriggerKey::kCSCTF).empty() )
224  std::cout << "CSCTF key is empty. Sub-systems is disabled ("<<m_doSys[CTF]<<")\n";
225  if ( pKey->subsystemKey( L1TriggerKey::kRPC ).empty() )
226  std::cout << "RPC key is empty. Sub-systems is disabled ("<<m_doSys[RPC]<<")\n";
227  if ( pKey->subsystemKey( L1TriggerKey::kGMT ).empty() )
228  std::cout << "GMT key is empty. Sub-systems is disabled ("<<m_doSys[GMT]<<")\n";
229  if ( pKey->subsystemKey( L1TriggerKey::kGT ).empty() )
230  std::cout << "GT key is empty. Sub-systems is disabled ("<<m_doSys[GLT]<<")\n";
231  std::cout << "TSC key = " << pKey->tscKey() << std::endl;
232  }
233 
234  //access subsystem key if needed, eg:
235  //std::cout << "RCT key:" << pKey->subsystemKey( L1TriggerKey::kRCT ) << std::endl;
236  }
237  catch( cms::Exception& ex )
238  {
239  edm::LogWarning("L1Comparator")
240  << "No L1TriggerKey found."
241  << std::endl;
242  }
243 
244  if(verbose())
245  std::cout << "L1COMPARATOR beginRun... done\n" << std::flush;
246 
247 }
const T & get() const
Definition: EventSetup.h:56
const std::string & tscKey() const
Definition: L1TriggerKey.h:87
const std::string & subsystemKey(L1Subsystems subsystem) const
Definition: L1TriggerKey.h:90
bool m_doSys[dedefs::DEnsys]
Definition: L1Comparator.h:102
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 841 of file L1Comparator.cc.

References begin, mps_fire::i, and match().

841  {
842  bool match = true;
843  typedef typename myCol::size_type col_sz;
844  typedef typename myCol::iterator col_it;
845  col_sz ndata = data->size();
846  col_sz nemul = emul->size();
847  if(ndata!=nemul) {
848  match &= false;
849  m_dumpFile << " #cand mismatch!"
850  << "\tdata: " << ndata
851  << "\temul: " << nemul
852  << std::endl;
853  }
854  col_it itd = data -> begin();
855  col_it itm = emul -> begin();
856  for (col_sz i=0; i<ndata; i++) {
857  match &= dumpCandidate(*itd++,*itm++, m_dumpFile);
858  }
859  return match;
860 }
uint16_t size_type
bool dumpCandidate(const T &dt, const T &em, std::ostream &s)
#define begin
Definition: vmac.h:30
std::ofstream m_dumpFile
Definition: L1Comparator.h:104
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 863 of file L1Comparator.cc.

Referenced by process().

863  {
864  if(dt==em)
865  return true;
866  s<<dt<<std::endl;
867  s<<em<<std::endl<<std::endl;
868  return false;
869 }
float dt
Definition: AMPTWrapper.h:126
void L1Comparator::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 249 of file L1Comparator.cc.

249  {
250  if(m_dumpMode)
251  m_dumpFile << "\n\n-------\n"
252  << "Global data|emulator agreement: "
253  << m_match << std::endl;
254  m_dumpFile.close();
255 }
std::ofstream m_dumpFile
Definition: L1Comparator.h:104
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 731 of file L1Comparator.cc.

References 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, tmp, and verbose.

Referenced by ConfigBuilder.ConfigBuilder::addExtraStream(), ConfigBuilder.ConfigBuilder::completeInputCommand(), ConfigBuilder.ConfigBuilder::doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules::leave(), ConfigBuilder.ConfigBuilder::prepare(), ConfigBuilder.ConfigBuilder::prepare_ALCA(), ConfigBuilder.ConfigBuilder::prepare_DQM(), ConfigBuilder.ConfigBuilder::prepare_HLT(), ConfigBuilder.ConfigBuilder::prepare_LHE(), ConfigBuilder.ConfigBuilder::prepare_PATFILTER(), ConfigBuilder.ConfigBuilder::prepare_VALIDATION(), process(), ConfigBuilder.ConfigBuilder::renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder::renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder::scheduleSequence().

731  {
732 
733  if(verbose())
734  std::cout << "L1Comparator::process -ing system:" << sys
735  << " (" << SystLabel[sys] << "), data type " << cid
736  << "...\n" << std::flush;
737  if(verbose())
738  std::cout << "L1Comparator::process debug "
739  << " (size " << data->size() << "," <<emul->size() << ")"
740  << ".\n" << std::flush;
741 
743  bool prt = false;
744  if(!m_dumpMode)
745  prt = false;
746  else if(m_dumpMode==-1)
747  prt=true;
748  else if(m_dumpMode>0) {
749  DEcompare<T> tmp(data,emul);
750  if(tmp.get_ncand(0)==0 && tmp.get_ncand(1)==0)
751  prt=false;
752  else
753  prt = !tmp.do_compare(m_dumpFile,0);
754  }
755 
756  //declare de compare object
757  DEcompare<T> cmp(data,emul);
758 
759  int ndata = cmp.get_ncand(0);
760  int nemul = cmp.get_ncand(1);
761 
762  if(verbose())
763  std::cout << "L1Comparator::process "
764  << " system:" << SystLabel[sys] << "(id " << sys << ")"
765  << " type:" << cmp.GetName(0) << "(" << cmp.de_type() << ")"
766  << " ndata:" << ndata
767  << " nemul:" << nemul
768  << " (size " << data->size() << "," <<emul->size() << ")"
769  << ".\n" << std::flush;
770 
771  if(ndata==0&&nemul==0) {
772  if(verbose())
773  std::cout << "L1Comparator::process "
774  << "empty collections -- exiting!\n" << std::flush;
775  return;
776  }
777 
778  m_dumpFile << std::setiosflags(std::ios::showpoint | std::ios::fixed
779  | std::ios::right | std::ios::adjustfield);
780  std::cout << std::setiosflags(std::ios::showpoint | std::ios::fixed
781  | std::ios::right | std::ios::adjustfield);
782 
783  if(dumpEvent_ && prt ) {
784  m_dumpFile << "\nEntry: " << nevt_
785  << " (event:" << evtNum_
786  << " | run:" << runNum_
787  << ")\n" << std::flush;
788  dumpEvent_=false;
789  }
790 
791  if(prt)
792  m_dumpFile << "\n sys:" << SystLabel[sys]
793  << " (" << sys << "), type:" << cid //cmp.GetName()
794  << " ...\n";
795 
796  if(verbose())
797  std::cout << "L1Comparator::process print:\n" << std::flush
798  << cmp.print()
799  << std::flush;
800 
802  DEmatchEvt[sys] &= cmp.do_compare(m_dumpFile,m_dumpMode);
803 
805  L1DEDigiCollection dg = cmp.getDEDigis();
806 
807  if(verbose())
808  for(L1DEDigiCollection::iterator it=dg.begin(); it!=dg.end();it++)
809  std::cout << *it << "\n";
810 
812  for(L1DEDigiCollection::iterator it=dg.begin(); it!=dg.end();it++)
813  it->setSid(sys);
815  for(L1DEDigiCollection::iterator it=dg.begin(); it!=dg.end();it++)
816  it->setCid(cid);
817 
819  m_dedigis.insert(m_dedigis.end(), dg.begin(), dg.end());
820  for(int i=0; i<2; i++)
821  DEncand[sys][i] += cmp.get_ncand(i);
822 
823  if(verbose())
824  std::cout << "L1Comparator::process "
825  << " system:" << SystLabel[sys]
826  << " type:" << cmp.GetName(0)
827  << " ndata:" << DEncand[sys][0]
828  << " nemul:" << DEncand[sys][1]
829  << " (size " << data->size() << "," <<emul->size() << ")"
830  << " ndigis:" << dg.size()
831  << " agree? " << DEmatchEvt[sys]
832  << std::endl;
833 
834  if(verbose())
835  std::cout << "L1Comparator::process -ing system:"
836  << sys << " (" << SystLabel[sys] << ")...done.\n"
837  << std::flush;
838 }
int DEncand[dedefs::DEnsys][2]
Definition: L1Comparator.h:108
std::vector< L1DataEmulDigi > L1DEDigiCollection
Definition: DEtrait.h:80
bool DEmatchEvt[dedefs::DEnsys]
Definition: L1Comparator.h:107
const std::string SystLabel[DEnsys]
Definition: DEtrait.h:45
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
L1DEDigiCollection m_dedigis
Definition: L1Comparator.h:109
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
std::ofstream m_dumpFile
Definition: L1Comparator.h:104
template<class T >
void L1Comparator::process ( const edm::Handle< T data,
const edm::Handle< T emul,
const int  sys,
const int  cid 
)
inlineprivate
void L1Comparator::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

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

— done getting collections. —

processing : compare the pairs of collections

Definition at line 258 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(), L1MuDTChambPhContainer::getContainer(), L1MuDTChambThContainer::getContainer(), L1MuDTTrackContainer::getContainer(), L1MuGMTReadoutCollection::getRecords(), dedefs::GMT, dedefs::GMTcnd, dedefs::GMTmain, dedefs::GMTrdt, mps_fire::i, edm::EventBase::id(), edm::HandleBase::isValid(), 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.

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

Definition at line 67 of file L1Comparator.h.

References verbose_.

67 {return verbose_;}

Member Data Documentation

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

Definition at line 107 of file L1Comparator.h.

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

Definition at line 108 of file L1Comparator.h.

bool L1Comparator::dumpEvent_
private

Definition at line 76 of file L1Comparator.h.

int L1Comparator::evtNum_
private

Definition at line 73 of file L1Comparator.h.

L1DEDigiCollection L1Comparator::m_dedigis
private

Definition at line 109 of file L1Comparator.h.

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

Definition at line 102 of file L1Comparator.h.

std::ofstream L1Comparator::m_dumpFile
private

Definition at line 104 of file L1Comparator.h.

std::string L1Comparator::m_dumpFileName
private

Definition at line 103 of file L1Comparator.h.

int L1Comparator::m_dumpMode
private

Definition at line 105 of file L1Comparator.h.

bool L1Comparator::m_match
private

Definition at line 106 of file L1Comparator.h.

bool L1Comparator::m_stage1_layer2_
private

Definition at line 68 of file L1Comparator.h.

int L1Comparator::nevt_
private

Definition at line 72 of file L1Comparator.h.

int L1Comparator::runNum_
private

Definition at line 74 of file L1Comparator.h.

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

Definition at line 78 of file L1Comparator.h.

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

Definition at line 79 of file L1Comparator.h.

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

Definition at line 80 of file L1Comparator.h.

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

Definition at line 81 of file L1Comparator.h.

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

Definition at line 87 of file L1Comparator.h.

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

Definition at line 88 of file L1Comparator.h.

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

Definition at line 86 of file L1Comparator.h.

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

Definition at line 90 of file L1Comparator.h.

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

Definition at line 89 of file L1Comparator.h.

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

Definition at line 91 of file L1Comparator.h.

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

Definition at line 82 of file L1Comparator.h.

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

Definition at line 83 of file L1Comparator.h.

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

Definition at line 85 of file L1Comparator.h.

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

Definition at line 84 of file L1Comparator.h.

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

Definition at line 92 of file L1Comparator.h.

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

Definition at line 95 of file L1Comparator.h.

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

Definition at line 93 of file L1Comparator.h.

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

Definition at line 94 of file L1Comparator.h.

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

Definition at line 96 of file L1Comparator.h.

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

Definition at line 99 of file L1Comparator.h.

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

Definition at line 100 of file L1Comparator.h.

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

Definition at line 97 of file L1Comparator.h.

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

Definition at line 98 of file L1Comparator.h.

int L1Comparator::verbose_
private

Definition at line 75 of file L1Comparator.h.

Referenced by verbose().