41 static const double tw_sc = 100.;
42 static const double tw_si = 100.;
47 "MStoppedMuonsPerBlock",
72 unsigned int nStopped = 0;
77 std::map< std::string, std::vector<TPulseIsland*> >::iterator iBank;
78 std::vector<TPulseIsland*> *musc_pulses = NULL, *muveto_pulses = NULL, *scr_pulses = NULL, *scl_pulses = NULL;
79 std::vector< std::vector<TPulseIsland*>* > sir_pulses, sil_pulses;
80 std::vector<TPulseIsland*>::iterator c_musc_pulse, c_muveto_pulse, c_scr_pulse, c_scl_pulse;
81 std::vector< std::vector<TPulseIsland*>::iterator > c_sir_pulse, c_sil_pulse;
83 std::string cDet, cBank;
84 int nSiL = 0, nSiR = 0;
85 for (iBank = tpis.begin(); iBank != tpis.end(); iBank++) {
89 musc_pulses = &tpis.at(cBank);
90 c_musc_pulse = musc_pulses->begin();
91 }
else if (cDet ==
"muVeto"){
92 muveto_pulses = &tpis.at(cBank);
93 c_muveto_pulse = muveto_pulses->begin();
94 }
else if (cDet ==
"ScR") {
95 scr_pulses = &tpis.at(cBank);
96 c_scr_pulse = scr_pulses->begin();
97 }
else if (cDet ==
"ScL") {
98 scl_pulses = &tpis.at(cBank);
99 c_scl_pulse = scl_pulses->begin();
100 }
else if (cDet.substr(0,2) ==
"Si" && cDet.substr(cDet.size()-5,4) ==
"fast") {
102 sir_pulses.push_back(&tpis.at(cBank));
103 c_sir_pulse.push_back(std::vector<TPulseIsland*>::iterator());
106 sil_pulses.push_back(&tpis.at(cBank));
107 c_sil_pulse.push_back(std::vector<TPulseIsland*>::iterator());
115 for (; c_musc_pulse != musc_pulses->end(); c_musc_pulse++) {
116 cTime = (*c_musc_pulse)->GetPulseTime();
118 while ((*c_muveto_pulse)->GetPulseTime() < cTime)
120 while ((*c_scl_pulse)->GetPulseTime() < cTime)
122 while ((*c_scr_pulse)->GetPulseTime() < cTime)
124 for(
int iSiR = 0; iSiR < nSiR; iSiR++)
125 while ((*c_sir_pulse[iSiR])->GetPulseTime() < cTime)
127 for (
int iSiL = 0; iSiL < nSiL; iSiL++)
128 while ((*c_sil_pulse[iSiL])->GetPulseTime() < cTime)
131 if ((*c_muveto_pulse)->GetPulseTime() - cTime <
tw_muveto)
133 if ((*c_scr_pulse)->GetPulseTime() - cTime <
tw_sc)
135 if ((*c_scl_pulse)->GetPulseTime() - cTime <
tw_sc)
137 for (
int iSiR = 0; iSiR < nSiR; iSiR++)
138 if ((*c_sir_pulse[iSiR])->GetPulseTime() - cTime <
tw_si)
140 for (
int iSiL = 0; iSiL < nSiL; iSiL++)
141 if ((*c_sil_pulse[iSiL])->GetPulseTime() - cTime <
tw_si)