32 LogDebug(
"GEMDigiTrackMatch") <<
"ibooker set current folder\n";
38 for (
unsigned int j = 0; j <
nstation; j++) {
40 string track_eta_title =
string(
"track_eta") +
";SimTrack |#eta|;# of tracks";
43 for (
unsigned int k = 0;
k < 3;
k++) {
46 string track_phi_title =
string(
"track_phi") + suffix +
";SimTrack #phi;# of tracks";
50 for (
unsigned int i = 0;
i < 4;
i++) {
53 string dg_eta_title = dg_eta_name +
"; tracks |#eta|; # of tracks";
57 string dg_sh_eta_title = dg_sh_eta_name +
"; tracks |#eta|; # of tracks";
61 string pad_eta_title = pad_eta_name +
"; tracks |#eta|; # of tracks";
65 string copad_eta_title = copad_eta_name +
"; tracks |#eta|; # of tracks";
68 for (
unsigned int k = 0;
k < 3;
k++) {
71 string dg_phi_title = dg_phi_name +
"; tracks #phi; # of tracks";
72 dg_phi[
i][j][
k] = ibooker.
book1D((dg_phi_name).c_str(), dg_phi_title.c_str(), 200, -
PI,
PI);
75 string dg_sh_phi_title = dg_sh_phi_name +
"; tracks #phi; # of tracks";
79 string pad_phi_title = pad_phi_name +
"; tracks #phi; # of tracks";
80 pad_phi[
i][j][
k] = ibooker.
book1D((pad_phi_name).c_str(), pad_phi_title.c_str(), 200, -
PI,
PI);
83 string copad_phi_title = copad_phi_name +
"; tracks #phi; # of tracks";
120 for (
auto &
t : sim_trks) {
132 track_.
pt =
t.momentum().pt();
133 track_.
phi =
t.momentum().phi();
134 track_.
eta =
t.momentum().eta();
138 for (
int i = 0;
i < 3;
i++) {
139 for (
int j = 0; j < 2; j++) {
148 for (
auto d : gem_sh_ids_ch) {
151 track_.
hitEven[
id.station() - 1] =
true;
152 else if (
id.
chamber() % 2 == 1)
153 track_.
hitOdd[
id.station() - 1] =
true;
155 std::cout <<
"Error to get chamber id" << std::endl;
158 track_.
gem_sh[
id.station() - 1][(
id.layer() - 1)] =
true;
161 const auto gem_dg_ids_ch = match_gd.
chamberIds();
163 for (
auto d : gem_dg_ids_ch) {
165 track_.
gem_dg[
id.station() - 1][(
id.layer() - 1)] =
true;
168 for (
auto d : gem_pad_ids_ch) {
170 track_.
gem_pad[
id.station() - 1][(
id.layer() - 1)] =
true;
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
static const std::array< std::string, 4 > l_suffix
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::set< unsigned int > chamberIdsGEM() const
GEM chamber detIds with SimHits.
edm::EDGetToken simHitsToken_
edm::EDGetToken simVerticesToken_
MonitorElement * pad_phi[4][3][3]
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void analyze(const edm::Event &e, const edm::EventSetup &) override
MonitorElement * dg_phi[4][3][3]
MonitorElement * copad_phi[4][3][3]
void setGeometry(const GEMGeometry &geom)
static const std::array< std::string, 2 > s_suffix
void setCurrentFolder(std::string const &fullpath)
edm::EDGetToken simTracksToken_
MonitorElement * track_eta[3]
const std::vector< const GEMRegion * > & regions() const
Return a vector of all GEM regions.
MonitorElement * book1D(Args &&...args)
edm::EDGetToken gem_copadToken_
edm::EDGetToken gem_digiToken_
MonitorElement * track_phi[3][3]
~GEMDigiTrackMatch() override
MonitorElement * pad_eta[4][3]
T const * product() const
MonitorElement * dg_sh_phi[4][3][3]
GEMDigiTrackMatch(const edm::ParameterSet &ps)
void FillWithTrigger(MonitorElement *me[3], Float_t eta)
MonitorElement * dg_eta[4][3]
std::set< unsigned int > chamberIdsWithPads() const
bool isSimTrackGood(const SimTrack &)
std::set< unsigned int > chamberIds() const
edm::EDGetToken gem_padToken_
std::vector< SimTrack > SimTrackContainer
MonitorElement * dg_sh_eta[4][3]
static const std::array< std::string, 3 > c_suffix
MonitorElement * copad_eta[4][3]