Skip to content

Commit

Permalink
Reverted Vitrovex yield handling (commit c87a047) and swap scintillat…
Browse files Browse the repository at this point in the history
…ion file
  • Loading branch information
MarkusDittmer committed Feb 5, 2025
1 parent 746f1ba commit e088a5d
Show file tree
Hide file tree
Showing 5 changed files with 5,072 additions and 193 deletions.
295 changes: 147 additions & 148 deletions common/data/scintillation/Scint_Vitrovex.dat
Original file line number Diff line number Diff line change
Expand Up @@ -136,154 +136,153 @@
}
},
"jYieldAlphaTemperature": [
-49.6827135135,
-48.6981,
-47.765261828,
-46.7357361823,
-45.7603202614,
-44.6141313333,
-43.6917292517,
-42.5353875433,
-41.6170146341,
-40.4780298932,
-39.5647677419,
-38.4654438163,
-37.5642509677,
-36.523295082,
-35.5229577061,
-34.4256498221,
-33.5305238434,
-32.4345929078,
-31.5537056338,
-30.4643148789,
-29.5869496552,
-28.448294375,
-27.6114601156,
-26.4902623037,
-25.6996692506,
-24.6031675978,
-23.7338738889,
-22.654701087,
-21.7798224,
-20.7099168901,
-19.8336268097,
-18.7613044386,
-17.9003142857,
-16.8079797647,
-15.9890587973
],
"jYieldAlpha": [
125.51292617553742,
124.36761970900005,
124.18365416184061,
123.57342964701763,
122.89212532211975,
121.95183522555963,
120.29868625215552,
119.20904541441357,
118.70274935446561,
117.35964168265492,
116.08620514872416,
114.67661501986173,
113.1159993682205,
110.79482585820176,
109.01509936564648,
107.75193517932924,
106.72236383149604,
105.48017664725492,
103.90637873790979,
102.04424258882166,
100.8247454101702,
99.02871792171466,
97.8040530109855,
96.52424932398574,
95.53854758517515,
93.74998133830238,
92.42975273830957,
91.22836703578858,
89.99357798096582,
88.24339096509071,
87.05742061017511,
85.75824452386817,
84.53198850990744,
82.70174233138988,
81.67897756419144
-49.6827135135,
-48.6981,
-47.765261828,
-46.7357361823,
-45.7603202614,
-44.6141313333,
-43.6917292517,
-42.5353875433,
-41.6170146341,
-40.4780298932,
-39.5647677419,
-38.4654438163,
-37.5642509677,
-36.523295082,
-35.5229577061,
-34.4256498221,
-33.5305238434,
-32.4345929078,
-31.5537056338,
-30.4643148789,
-29.5869496552,
-28.448294375,
-27.6114601156,
-26.4902623037,
-25.6996692506,
-24.6031675978,
-23.7338738889,
-22.654701087,
-21.7798224,
-20.7099168901,
-19.8336268097,
-18.7613044386,
-17.9003142857,
-16.8079797647,
-15.9890587973
],
"jYieldAlpha": [
169.65375901805115,
168.22475364773635,
168.0885718515632,
167.3863269168956,
166.5800409714628,
165.4414154405034,
163.3066447087526,
161.96150221580768,
161.37964652582644,
159.683649666249,
158.05406886644656,
156.25747902524893,
154.23013206596875,
151.17744536635993,
148.85509516382544,
147.24528819859748,
145.93126016005806,
144.34512389796873,
142.28046130532823,
139.8387211548352,
138.25358206611656,
135.90047991965767,
134.2994256060164,
132.64731256910957,
131.3661785451481,
129.00685739930327,
127.26826493117467,
125.709798127364,
124.08486624178921,
121.76349067369652,
120.20120773361128,
118.49685155445813,
116.87324635428975,
114.43061640565371,
113.08051278939719
],
"jYieldElectronTemperature": [
-49.6827135135,
-48.6981,
-47.765261828,
-46.7357361823,
-45.7603202614,
-44.6141313333,
-43.6917292517,
-42.5353875433,
-41.6170146341,
-40.4780298932,
-39.5647677419,
-38.4654438163,
-37.5642509677,
-36.523295082,
-35.5229577061,
-34.4256498221,
-33.5305238434,
-32.4345929078,
-31.5537056338,
-30.4643148789,
-29.5869496552,
-28.448294375,
-27.6114601156,
-26.4902623037,
-25.6996692506,
-24.6031675978,
-23.7338738889,
-22.654701087,
-21.7798224,
-20.7099168901,
-19.8336268097,
-18.7613044386,
-17.9003142857,
-16.8079797647,
-15.9890587973
],
"jYieldElectron": [
305.78856233912734,
302.7391252712001,
302.0455678812675,
300.2907738902409,
298.37955366621145,
295.79766016476833,
291.5499900102314,
288.6128455399738,
287.1520819930216,
283.61408576542965,
280.30692781544536,
276.6293739081418,
272.6427268063495,
266.7961798165052,
262.2718193680947,
258.9733190986313,
256.28859826884184,
253.05051398981166,
249.07248531521574,
244.36231307651147,
241.24540562481582,
236.69675961752105,
233.58676502989022,
230.28786247136202,
227.76664078093253,
223.27138068221313,
219.94597157246164,
216.864590726639,
213.7508821296871,
209.3794194542168,
206.3917111786546,
203.10180228589095,
200.03115167399852,
195.4930170628301,
192.92163382563177
],
"jYieldElectronTemperature": [
-50.0,
-49.0,
-48.0,
-47.0,
-46.0,
-45.0,
-44.0,
-43.0,
-42.0,
-41.0,
-40.0,
-39.0,
-38.0,
-37.0,
-36.0,
-35.0,
-34.0,
-33.0,
-32.0,
-31.0,
-30.0,
-29.0,
-28.0,
-27.0,
-26.0,
-25.0,
-24.0,
-23.0,
-22.0,
-21.0,
-20.0,
-19.0,
-18.0,
-17.0,
-16.0,
-15.0
],
"jYieldElectron": [
213.3719744984136,
211.4249535053001,
211.11221207512904,
210.07483039992997,
208.91661304760356,
207.31811988345137,
204.50776662866437,
202.65537720450305,
201.79467390259154,
199.51139086051336,
197.34654875283107,
194.95024553376493,
192.29719892597484,
188.351203958943,
185.325668921599,
183.1782898048597,
181.42801851354326,
179.31630030033335,
176.64084385444664,
173.4752124009968,
171.4020671972893,
168.3488204669149,
166.26689011867535,
164.09122385077575,
162.41553089479777,
159.37496827511404,
157.13057965512627,
155.0882239608406,
152.9890825676419,
150.01376464065422,
147.9976150372977,
145.7890156905759,
143.70438046684265,
140.5929619633628,
138.85426185912544
],
"jSpectrumWavelength": [
200.0,
215.0,
Expand Down Expand Up @@ -342,4 +341,4 @@
0.0,
0.0
]
}
}
35 changes: 6 additions & 29 deletions common/framework/src/OMSimMaterialHandler.cc
Original file line number Diff line number Diff line change
Expand Up @@ -540,15 +540,6 @@ namespace ScintillationProcessor
void extractYieldAlpha(ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT, G4String p_temperature)
{
extractYield(p_dataFile, p_jsonTree, p_MPT, p_temperature, "SCINTILLATIONYIELD", "yield_alphas", "jYieldAlphaTemperature", "jYieldAlpha");

// Scale the Vitrovex alpha yield by a temperature dependant factor resulting from PMT simulation changes. (See OMSim/documentation/notebooks/scintillation_yield_PMTefficiencyCorrection/GetYieldFactorAndRescale.ipynb).
if (p_jsonTree.get<G4String>("jMaterialName") == "RiAbs_Glass_Vitrovex")
{
log_info("Vitrovex alpha yield will be scaled due to PMT efficiency changes.");
G4double alphaYield = p_MPT->GetConstProperty("SCINTILLATIONYIELD");
alphaYield *= 0.0009725 * std::stod(p_temperature) + 1.40;
p_MPT->AddConstProperty("SCINTILLATIONYIELD", alphaYield, true);
}
}
/**
* @brief Extracts and interpolates the electron scintillation yield for a given temperature.
Expand All @@ -560,31 +551,17 @@ namespace ScintillationProcessor
*/
void extractYieldElectron(ParameterTable *p_dataFile, const boost::property_tree::ptree &p_jsonTree, G4MaterialPropertiesTable *p_MPT, G4String p_temperature)
{
// Scale Vitrovex electron yield with the temperature dependant measured electron yield. (See OMSim/documentation/notebooks/scintillation_yield_PMTefficiencyCorrection/GetYieldFactorAndRescale.ipynb).
if (p_jsonTree.get<G4String>("jMaterialName") == "RiAbs_Glass_Vitrovex")
try
{
log_info("Vitrovex electron yield set to alpha yield scaled by electron yield factor.");

G4double alphaYield = p_MPT->GetConstProperty("SCINTILLATIONYIELD");
G4double temperature = std::stod(p_temperature);
G4double electronYield = alphaYield * (-0.0028602 * temperature + 1.66032); //2018 glass batch

p_MPT->AddConstProperty("SCINTILLATIONYIELDELECTRONS", electronYield, true);
log_trace("Alpha yield: {} Electron yield: {}", alphaYield, electronYield);
extractYield(p_dataFile, p_jsonTree, p_MPT, p_temperature, "SCINTILLATIONYIELDELECTRONS", "yield_electrons", "jYieldElectronTemperature", "jYieldElectron");
}
else
catch (...)
{
try
{
extractYield(p_dataFile, p_jsonTree, p_MPT, p_temperature, "SCINTILLATIONYIELDELECTRONS", "yield_electrons", "jYieldElectronTemperature", "jYieldElectron");
}
catch (...)
{
log_warning("Electron yield not found, using alpha yield.");
extractYield(p_dataFile, p_jsonTree, p_MPT, p_temperature, "SCINTILLATIONYIELDELECTRONS", "yield_alphas", "jYieldAlphaTemperature", "jYieldAlpha");
}
log_warning("Electron yield not found, using alpha yield.");
extractYield(p_dataFile, p_jsonTree, p_MPT, p_temperature, "SCINTILLATIONYIELDELECTRONS", "yield_alphas", "jYieldAlphaTemperature", "jYieldAlpha");
}
}

}

/**
Expand Down
Loading

0 comments on commit e088a5d

Please sign in to comment.