1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
// system includes
#include <algorithm>
#include <cstdint>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
#include <time.h>
#include <vector>
// user includes
#include "DataFormats/SiStripCommon/interface/Constants.h"
#include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
#include "DataFormats/SiStripCommon/interface/SiStripFecKey.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
/**
@class examplesSiStripFecKey
@author R.Bainbridge
@brief Simple class that tests SiStripFecKey.
*/
class examplesSiStripFecKey : public edm::one::EDAnalyzer<> {
public:
examplesSiStripFecKey(const edm::ParameterSet&);
~examplesSiStripFecKey();
void beginJob();
void analyze(const edm::Event&, const edm::EventSetup&);
private:
void buildKeys(std::vector<uint32_t>&);
};
using namespace sistrip;
// -----------------------------------------------------------------------------
//
examplesSiStripFecKey::examplesSiStripFecKey(const edm::ParameterSet& pset) {
LogTrace(mlDqmCommon_) << "[examplesSiStripFecKey::" << __func__ << "]"
<< " Constructing object...";
}
// -----------------------------------------------------------------------------
//
examplesSiStripFecKey::~examplesSiStripFecKey() {
LogTrace(mlDqmCommon_) << "[examplesSiStripFecKey::" << __func__ << "]"
<< " Destructing object...";
}
// -----------------------------------------------------------------------------
//
void examplesSiStripFecKey::beginJob() {
SiStripFecKey invalid;
SiStripFecKey inv(sistrip::invalid_,
sistrip::invalid_,
sistrip::invalid_,
sistrip::invalid_,
sistrip::invalid_,
sistrip::invalid_,
sistrip::invalid_);
SiStripFecKey valid(1, 2, 1, 1, 16, 1, 32);
SiStripFecKey all(0, 0, 0, 0, 0, 0, 0);
SiStripFecKey same(valid);
SiStripFecKey equal = valid;
SiStripFecKey equals;
equals = valid;
SiStripFecKey to_gran(valid, sistrip::CCU_CHAN);
std::stringstream ss;
ss << "[SiStripFecKey::" << __func__ << "]"
<< " Tests for utility methods..." << std::endl;
ss << ">>>> invalid.path: " << invalid << std::endl
<< ">>>> inv.path: " << inv << std::endl
<< ">>>> valid.path: " << valid << std::endl
<< ">>>> all.path: " << all << std::endl
<< ">>>> same.path: " << same << std::endl
<< ">>>> equal.path: " << equal << std::endl
<< ">>>> equals.path: " << equals << std::endl
<< ">>>> to_gran.path: " << to_gran << std::endl;
ss << std::hex << ">>>> invalid.key: " << invalid.key() << std::endl
<< ">>>> valid.key: " << valid.key() << std::endl
<< ">>>> all.key: " << all.key() << std::endl
<< std::dec;
ss << ">>>> invalid.isInvalid: " << invalid.isInvalid() << std::endl
<< ">>>> invalid.isValid: " << invalid.isValid() << std::endl
<< ">>>> valid.isInvalid: " << valid.isInvalid() << std::endl
<< ">>>> valid.isValid: " << valid.isValid() << std::endl
<< ">>>> all.isInvalid: " << all.isInvalid() << std::endl
<< ">>>> all.isValid: " << all.isValid() << std::endl;
ss << ">>>> valid.isEqual(valid): " << valid.isEqual(valid) << std::endl
<< ">>>> valid.isConsistent(valid): " << valid.isConsistent(valid) << std::endl
<< ">>>> valid.isEqual(invalid): " << valid.isEqual(invalid) << std::endl
<< ">>>> valid.isConsistent(invalid): " << valid.isConsistent(invalid) << std::endl
<< ">>>> valid.isEqual(all): " << valid.isEqual(all) << std::endl
<< ">>>> valid.isConsistent(all): " << valid.isConsistent(all) << std::endl
<< ">>>> valid.isEqual(same): " << valid.isEqual(same) << std::endl
<< ">>>> valid.isEqual(equal): " << valid.isEqual(equal) << std::endl
<< ">>>> valid.isEqual(equals): " << valid.isEqual(equals) << std::endl;
LogTrace(mlDqmCommon_) << ss.str();
}
// -----------------------------------------------------------------------------
//
void examplesSiStripFecKey::analyze(const edm::Event& event, const edm::EventSetup& setup) {
LogTrace(mlDqmCommon_) << "[SiStripFecKey::" << __func__ << "]"
<< " Analyzing run/event " << event.id().run() << "/" << event.id().event();
}
#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(examplesSiStripFecKey);
|