21 fhSpectrum =
new TH1I(
"hSiR2Spectrum",
"Spectrum of Silicon Target", 26000, 0., 26000.);
31 std::vector<TAnalysedPulse*>* pulses_musc = NULL;
32 std::vector<TAnalysedPulse*>* pulses_targ = NULL;
33 std::vector<TAnalysedPulse*>* pulses_thick = NULL;
34 std::vector<TAnalysedPulse*>* pulses_thin1 = NULL;
35 std::vector<TAnalysedPulse*>* pulses_thin2 = NULL;
36 std::vector<TAnalysedPulse*>* pulses_thin3 = NULL;
37 std::vector<TAnalysedPulse*>* pulses_thin4 = NULL;
40 if (gAnalysedPulseMap.count(
"muSc") == 0) {
41 std::cout <<
"INFO: No beam counter hits" << std::endl;
43 }
else if (gAnalysedPulseMap.count(
"SiR2-S") == 0) {
44 std::cout <<
"INFO: No target hits" << std::endl;
46 }
else if (gAnalysedPulseMap.count(
"SiL2-S") == 0) {
47 std::cout <<
"INFO: No thick external hits" << std::endl;
50 pulses_musc = &gAnalysedPulseMap.at(
"muSc");
51 pulses_targ = &gAnalysedPulseMap.at(
"SiR2-S");
52 pulses_thick = &gAnalysedPulseMap.at(
"SiL2-S");
54 if (gAnalysedPulseMap.count(
"SiL1-1-S"))
55 pulses_thin1 = &gAnalysedPulseMap.at(
"SiL1-1-S");
56 if (gAnalysedPulseMap.count(
"SiL1-2-S"))
57 pulses_thin2 = &gAnalysedPulseMap.at(
"SiL1-2-S");
58 if (gAnalysedPulseMap.count(
"SiL1-3-S"))
59 pulses_thin3 = &gAnalysedPulseMap.at(
"SiL1-3-S");
60 if (gAnalysedPulseMap.count(
"SiL1-4-S"))
61 pulses_thin4 = &gAnalysedPulseMap.at(
"SiL1-4-S");
62 if(!(pulses_thin1 || pulses_thin2 || pulses_thin3 || pulses_thin4)) {
63 std::cout <<
"INFO: No thin external hits" << std::endl;
67 std::vector<TAnalysedPulse*>::iterator iMusc;
68 std::vector<TAnalysedPulse*>::iterator iTarg;
69 std::vector<TAnalysedPulse*>::iterator iThick;
70 std::vector<TAnalysedPulse*>::iterator iThin1;
71 std::vector<TAnalysedPulse*>::iterator iThin2;
72 std::vector<TAnalysedPulse*>::iterator iThin3;
73 std::vector<TAnalysedPulse*>::iterator iThin4;
75 iMusc = pulses_musc->begin();
76 iTarg = pulses_targ->begin();
77 iThick = pulses_thick->begin();
79 iThin1 = pulses_thin1->begin();
81 iThin2 = pulses_thin2->begin();
83 iThin3 = pulses_thin3->begin();
85 iThin4 = pulses_thin4->begin();
88 for (; iMusc != pulses_musc->end(); ++iMusc) {
90 t = (*iMusc)->GetTime();
93 for (; iTarg != pulses_targ->end(); ++iTarg)
96 for (; iThick != pulses_thick->end(); ++iThick)
100 for (; iThin1 != pulses_thin1->end(); ++iThin1)
104 for (; iThin2 != pulses_thin2->end(); ++iThin2)
108 for (; iThin3 != pulses_thin3->end(); ++iThin3)
112 for (; iThin4 != pulses_thin4->end(); ++iThin4)
116 if (iTarg == pulses_targ->end()) {
119 e = (*iTarg)->GetEnergy();
124 if (iThick == pulses_thick->end()) {
127 e += (*iThick)->GetEnergy();
132 bool pulse_found =
false;
133 bool out_of_pulses =
true;
135 if (iThin1 != pulses_thin1->end()) {
136 out_of_pulses =
false;
138 e += (*iThin1)->GetEnergy();
145 if (iThin2 != pulses_thin2->end()) {
146 out_of_pulses =
false;
148 e += (*iThin2)->GetEnergy();
155 if (iThin3 != pulses_thin3->end()) {
156 out_of_pulses =
false;
158 e += (*iThin3)->GetEnergy();
165 if (iThin4 != pulses_thin4->end()) {
166 out_of_pulses =
false;
168 e += (*iThin4)->GetEnergy();
176 else if (!pulse_found)