61 static int kRunNumber = 0;
67 static ULong64_t less_background = 0.5 *
s;
69 if(kRunNumber >= 12012) {
70 less_background = 0.0 *
s;
72 less_background = 0.5 *
s;
79 for(
auto g1 = 0; g1 < grif->GetMultiplicity(); ++g1) {
82 bool beta_found =
false;
83 for(
auto b1 = 0; b1 < scep->GetMultiplicity(); ++b1) {
84 obj.
FillHistogram(
"TimeDiffs",
"gbT", 2000, -2000, 2000, grif->GetHit(g1)->GetTime() *
ns - scep->GetHit(b1)->GetTime() *
ns, 20, 1, 21, scep->GetHit(b1)->GetDetector());
85 if(
PromptCoincidence(scep->GetSceptarHit(b1), grif->GetGriffinHit(g1)) && !beta_found) {
86 obj.
FillHistogram(
"GRIFFIN",
"gEB", 8000, 0, 8000, grif->GetHit(g1)->GetEnergy());
92 bool beta_found =
false;
95 if(
PromptCoincidence(zds->GetZeroDegreeHit(z1), grif->GetGriffinHit(g1)) && !beta_found) {
96 obj.
FillHistogram(
"GRIFFIN",
"gEZ", 8000, 0, 8000, grif->GetHit(g1)->GetEnergy());
101 for(
auto g2 = g1 + 1; g2 < grif->GetMultiplicity(); ++g2) {
102 obj.
FillHistogram(
"TimeDiffs",
"ggT", 2000, -2000, 2000, grif->GetHit(g2)->GetTime() *
ns - grif->GetHit(g1)->GetTime() *
ns);
104 obj.
FillHistogram(
"GRIFFIN",
"ggE", 5000, 0, 5000, grif->GetHit(g1)->GetEnergy(), 5000, 0, 5000, grif->GetHit(g2)->GetEnergy());
105 obj.
FillHistogram(
"GRIFFIN",
"ggE", 5000, 0, 5000, grif->GetHit(g2)->GetEnergy(), 5000, 0, 5000, grif->GetHit(g1)->GetEnergy());
106 obj.
FillHistogram(
"HitPatterns",
"gg_HP", 65, 0, 65, grif->GetGriffinHit(g1)->GetChannel()->GetNumber(), 65, 0, 65, grif->GetGriffinHit(g2)->GetChannel()->GetNumber());
112 obj.
FillHistogram(
"HitPatterns",
"ggbgo_HP", 65, 0, 65, grif->GetGriffinHit(g1)->GetArrayNumber(), 64 * 5, 1, 64 * 5 + 1, grif_bgo->GetBgoHit(bgo1)->GetArrayNumber());
116 obj.
FillHistogram(
"HitPatterns",
"gbgoDet_ETCut", 17, 0, 17, grif->GetGriffinHit(g1)->GetDetector(), 17, 0, 17, grif_bgo->
GetHit(bgo1)->
GetDetector());
119 obj.
FillHistogram(
"GRIFFIN",
"bgoEgE", 2000, 0, 2000, grif->GetHit(g1)->GetEnergy(), 2000, 0, 2000, grif_bgo->
GetHit(bgo1)->
GetEnergy());
120 obj.
FillHistogram(
"GRIFFIN",
"bgoTgE", 2000, 0, 2000, grif->GetHit(g1)->GetEnergy(), 2000, -1000, 1000, grif_bgo->
GetHit(bgo1)->
GetTime() *
ns - grif->GetHit(g1)->GetTime() *
ns);
121 if(std::fabs(grif_bgo->
GetHit(bgo1)->
GetTime() *
ns - grif->GetHit(g1)->GetTime() *
ns) < 300 *
ns) {
122 obj.
FillHistogram(
"GRIFFIN",
"bgoEgE_TCut", 2000, 0, 2000, grif->GetHit(g1)->GetEnergy(), 2000, 0, 2000, grif_bgo->
GetHit(bgo1)->
GetEnergy());
125 obj.
FillHistogram(
"GRIFFIN",
"bgoTgE_ECut", 2000, 0, 2000, grif->GetHit(g1)->GetEnergy(), 2000, -1000, 1000, grif_bgo->
GetHit(bgo1)->
GetTime() *
ns - grif->GetHit(g1)->GetTime() *
ns);
131 for(
auto a1 = 0; a1 < grif->GetAddbackMultiplicity(); ++a1) {
132 obj.
FillHistogram(
"GRIFFIN",
"aE", 5000, 0, 5000, grif->GetAddbackHit(a1)->GetEnergy());
135 bool beta_found =
false;
137 if(
PromptCoincidence(zds->GetZeroDegreeHit(z1), grif->GetAddbackHit(a1)) && !beta_found) {
144 for(
auto as1 = 0; as1 < grif->GetSuppressedAddbackMultiplicity(grif_bgo); ++as1) {
145 obj.
FillHistogram(
"GRIFFIN",
"aES", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy());
146 bool zds_or_scep_found =
false;
147 if(scep !=
nullptr) {
148 bool beta_found =
false;
149 for(
auto b1 = 0; b1 < scep->GetMultiplicity(); ++b1) {
150 if(
PromptCoincidence(scep->GetSceptarHit(b1), grif->GetSuppressedAddbackHit(as1)) && !beta_found) {
151 obj.
FillHistogram(
"GRIFFIN",
"aESB_Cyc", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(),
kCycleLength * 20 /
s, 0,
kCycleLength /
s, (((ULong64_t)(grif->GetSuppressedAddbackHit(as1)->GetTimeStamp() *
ns)) % (
kCycleLength - less_background) + less_background) /
s);
154 if(!zds_or_scep_found) {
155 obj.
FillHistogram(
"GRIFFIN",
"aESbeta_Cyc", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(),
kCycleLength * 20 /
s, 0,
kCycleLength /
s, (((ULong64_t)(grif->GetSuppressedAddbackHit(as1)->GetTimeStamp() *
ns)) % (
kCycleLength - less_background) + less_background) /
s);
156 zds_or_scep_found =
true;
162 bool beta_found =
false;
164 if(
PromptCoincidence(zds->GetZeroDegreeHit(z1), grif->GetSuppressedAddbackHit(as1)) && !beta_found) {
165 obj.
FillHistogram(
"GRIFFIN",
"aESZ_Cyc", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(),
kCycleLength * 20 /
s, 0,
kCycleLength /
s, (((ULong64_t)(grif->GetSuppressedAddbackHit(as1)->GetTimeStamp() *
ns)) % (
kCycleLength - less_background) + less_background) /
s);
167 if(!zds_or_scep_found) {
168 obj.
FillHistogram(
"GRIFFIN",
"aESbeta_Cyc", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(),
kCycleLength * 20 /
s, 0,
kCycleLength /
s, (((ULong64_t)(grif->GetSuppressedAddbackHit(as1)->GetTimeStamp() *
ns)) % (
kCycleLength - less_background) + less_background) /
s);
169 zds_or_scep_found =
true;
174 for(
auto as2 = as1 + 1; as2 < grif->GetSuppressedAddbackMultiplicity(grif_bgo); ++as2) {
175 obj.
FillHistogram(
"GRIFFIN",
"aaES", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy());
176 obj.
FillHistogram(
"GRIFFIN",
"aaES", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy());
178 bool combined_beta_found =
false;
179 if(scep !=
nullptr) {
180 bool beta_found =
false;
181 for(
auto b1 = 0; b1 < scep->GetMultiplicity(); ++b1) {
182 if((
PromptCoincidence(scep->GetSceptarHit(b1), grif->GetSuppressedAddbackHit(as1)) ||
PromptCoincidence(scep->GetSceptarHit(b1), grif->GetSuppressedAddbackHit(as2))) && !beta_found) {
183 obj.
FillHistogram(
"GRIFFIN",
"aaESb", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy());
184 obj.
FillHistogram(
"GRIFFIN",
"aaESb", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy());
187 if(!combined_beta_found) {
188 obj.
FillHistogram(
"GRIFFIN",
"aaESbeta", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy());
189 obj.
FillHistogram(
"GRIFFIN",
"aaESbeta", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy());
190 combined_beta_found =
true;
196 bool beta_found =
false;
198 if((
PromptCoincidence(zds->GetZeroDegreeHit(z1), grif->GetSuppressedAddbackHit(as1)) ||
PromptCoincidence(zds->GetZeroDegreeHit(z1), grif->GetSuppressedAddbackHit(as2))) && !beta_found) {
199 obj.
FillHistogram(
"GRIFFIN",
"aaESz", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy());
200 obj.
FillHistogram(
"GRIFFIN",
"aaESz", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy());
202 if(!combined_beta_found) {
203 obj.
FillHistogram(
"GRIFFIN",
"aaESbeta", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy());
204 obj.
FillHistogram(
"GRIFFIN",
"aaESbeta", 8000, 0, 8000, grif->GetSuppressedAddbackHit(as1)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedAddbackHit(as2)->GetEnergy());
205 combined_beta_found =
true;
213 for(
auto sg1 = 0; sg1 < grif->GetSuppressedMultiplicity(grif_bgo); ++sg1) {
214 obj.
FillHistogram(
"HitPatterns",
"sMultgMult", 100, 0, 100, grif->GetMultiplicity(), 100, 0, 100, grif->GetSuppressedMultiplicity(grif_bgo));
215 obj.
FillHistogram(
"GRIFFIN",
"gES", 8000, 0, 8000, grif->GetSuppressedHit(sg1)->GetEnergy(), 65, 0, 65, grif->GetSuppressedHit(sg1)->GetArrayNumber());
216 for(
auto sg2 = sg1 + 1; sg2 < grif->GetSuppressedMultiplicity(grif_bgo); ++sg2) {
217 obj.
FillHistogram(
"GRIFFIN",
"ggES", 8000, 0, 8000, grif->GetSuppressedHit(sg1)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedHit(sg2)->GetEnergy());
218 obj.
FillHistogram(
"GRIFFIN",
"ggES", 8000, 0, 8000, grif->GetSuppressedHit(sg2)->GetEnergy(), 8000, 0, 8000, grif->GetSuppressedHit(sg1)->GetEnergy());
221 if(scep !=
nullptr) {
222 bool beta_found =
false;
223 for(
auto b1 = 0; b1 < scep->GetMultiplicity(); ++b1) {
224 if(
PromptCoincidence(scep->GetSceptarHit(b1), grif->GetSuppressedHit(sg1)) && !beta_found) {
225 obj.
FillHistogram(
"GRIFFIN",
"gEBS", 8000, 0, 8000, grif->GetSuppressedHit(sg1)->GetEnergy());
232 obj.
FillHistogram(
"HitPatterns",
"ggbgoS_HP", 65, 0, 65, grif->GetSuppressedHit(sg1)->GetArrayNumber(), 64 * 5, 1, 64 * 5 + 1, grif_bgo->GetBgoHit(bgo1)->GetArrayNumber());
237 if(grif_bgo !=
nullptr) {
239 obj.
FillHistogram(
"BGO",
"bgoE", 3000, 0, 3000, grif_bgo->
GetHit(bgo1)->
GetEnergy(), 64 * 5, 1, 64 * 5 + 1, grif_bgo->GetBgoHit(bgo1)->GetArrayNumber());
249 if(scep !=
nullptr) {
250 for(
auto b1 = 0; b1 < scep->GetMultiplicity(); ++b1) {
251 obj.
FillHistogram(
"SCEPTAR",
"bE", 10000, 0, 6e7, scep->GetHit(b1)->GetEnergy(), 20, 1, 21, scep->GetHit(b1)->GetDetector());
252 obj.
FillHistogram(
"HitPatterns",
"bHP", 21, 0, 21, scep->GetHit(b1)->GetDetector());
256 if(descant !=
nullptr) {
261 if(grif !=
nullptr) {
262 for(
auto g1 = 0; g1 < grif->GetLowGainMultiplicity(); ++g1) {
263 obj.
FillHistogram(
"HitPatterns",
"gHP_lg", 65, 0, 65, grif->GetGriffinLowGainHit(g1)->GetArrayNumber());
264 obj.
FillHistogram(
"GRIFFIN",
"gE_lg", 5000, 0, 5000, grif->GetGriffinLowGainHit(g1)->GetEnergy(), 65, 0, 65, grif->GetGriffinLowGainHit(g1)->GetArrayNumber());
266 for(
auto g1 = 0; g1 < grif->GetHighGainMultiplicity(); ++g1) {
267 obj.
FillHistogram(
"HitPatterns",
"gHP_hg", 65, 0, 65, grif->GetGriffinHighGainHit(g1)->GetArrayNumber());
268 obj.
FillHistogram(
"GRIFFIN",
"gE_hg", 5000, 0, 5000, grif->GetGriffinHighGainHit(g1)->GetEnergy(), 65, 0, 65, grif->GetGriffinHighGainHit(g1)->GetArrayNumber());