Skip to content

Commit 963409b

Browse files
committed
Merge branch 'feature/addKinFitOptions-rel0802' into 'release/08-02'
feature/addKinFitOptions-rel0802 cherry pick See merge request belle2/software/basf2!4130
2 parents a1cbc11 + a0cdc33 commit 963409b

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

calibration/scripts/prompt/calibrations/caf_ecl_autocovariance.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ def get_calibrations(input_data, **kwargs):
9999
collector=collector_C4,
100100
algorithms=[algo_C4],
101101
input_files=input_files, max_files_per_collector_job=4)
102-
cal_ecl_Auto_C4.strategies = strategies.SequentialRunByRun
103102

104103
cal_ecl_Auto_C4.pre_collector_path = delayed_Bhabha_pre_path
105104

ecl/calibration/src/eclAutocovarianceCalibrationC3Algorithm.cc

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ CalibrationAlgorithm::EResult eclAutocovarianceCalibrationC3Algorithm::calibrate
4242
///** vectors to store information for output root file */
4343
std::vector<double> cryIDs;
4444
std::vector<double> noiseMatrix00Vector;
45+
std::vector<double> autoCov00Vector;
4546
std::vector<double> totalCountsVector;
4647
std::vector<double> invertAttempts;
4748

@@ -53,6 +54,8 @@ CalibrationAlgorithm::EResult eclAutocovarianceCalibrationC3Algorithm::calibrate
5354

5455
for (int ID = 0; ID < ECLElementNumbers::c_NCrystals; ID++) {
5556

57+
m_u2 = 1.0; //Reseting
58+
5659
double totalCounts = CovarianceMatrixInfoVsCrysID->GetBinContent(CovarianceMatrixInfoVsCrysID->GetBin(ID + 1,
5760
m_numberofADCPoints + 1));
5861

@@ -106,19 +109,25 @@ CalibrationAlgorithm::EResult eclAutocovarianceCalibrationC3Algorithm::calibrate
106109
B2INFO("eclAutocovarianceCalibrationC3Algorithm setting m_u2 to zero");
107110
m_u2 = 0.0;
108111
}
112+
if (invert_attempt > 100) {
113+
B2INFO("eclAutocovarianceCalibrationC3Algorithm unable to invert!");
114+
return c_NotEnoughData;
115+
}
109116

110117
B2INFO("eclAutocovarianceCalibrationC3Algorithm iD " << ID << " invert_attempt " << invert_attempt);
111118

112119
for (int i = 0; i < m_numberofADCPoints; i++) B2INFO("old[" << i << "] = " << tempAutoCov[i]);
113120
for (int i = 1; i < m_numberofADCPoints; i++) tempAutoCov[i] *= (m_u2 / (1. + exp((i - m_u0) / m_u1)));
114121
for (int i = 0; i < m_numberofADCPoints; i++) B2INFO("new[" << i << "] = " << tempAutoCov[i]);
115122

123+
} else {
124+
noiseMatrix00Vector.push_back(NoiseMatrix_check(0, 0));
116125
}
117126
invert_attempt++;
118127
}
119128

120129
cryIDs.push_back(ID + 1);
121-
noiseMatrix00Vector.push_back(tempAutoCov[0]);
130+
autoCov00Vector.push_back(tempAutoCov[0]);
122131
totalCountsVector.push_back(totalCounts);
123132
invertAttempts.push_back(invert_attempt);
124133

@@ -128,6 +137,9 @@ CalibrationAlgorithm::EResult eclAutocovarianceCalibrationC3Algorithm::calibrate
128137
saveCalibration(Autocovariances, "ECLAutoCovariance");
129138

130139
/** Preparing TGraphs for output file */
140+
auto gautoCov00Vector = new TGraph(cryIDs.size(), cryIDs.data(), autoCov00Vector.data());
141+
gautoCov00Vector->SetName("gautoCov00Vector");
142+
gautoCov00Vector->SetMarkerStyle(20);
131143
auto gnoiseMatrix00Vector = new TGraph(cryIDs.size(), cryIDs.data(), noiseMatrix00Vector.data());
132144
gnoiseMatrix00Vector->SetName("gnoiseMatrix00Vector");
133145
gnoiseMatrix00Vector->SetMarkerStyle(20);
@@ -143,6 +155,7 @@ CalibrationAlgorithm::EResult eclAutocovarianceCalibrationC3Algorithm::calibrate
143155
TDirectory::TContext context;
144156
TFile* histfile = new TFile(fName, "recreate");
145157
histfile->cd();
158+
gautoCov00Vector->Write();
146159
gnoiseMatrix00Vector->Write();
147160
gtotalCountsVector->Write();
148161
ginvertAttempts->Write();

ecl/modules/eclAutocovarianceCalibrationC1Collector/src/eclAutocovarianceCalibrationC1Collector.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void eclAutocovarianceCalibrationC1CollectorModule::collect()
7171
float PeakToPeak = (float) aECLDsp.computePeaktoPeakAmp();
7272

7373
// I avoid using getObjectPtr<TH2>("PPVsCrysID")->Fill(id, PeakToPeak); to improve on run time as getObjectPtr is very slow
74-
PPVsCrysID->Fill(id, PeakToPeak);
74+
if (aECLDsp.getDspA()[0] > 1) PPVsCrysID->Fill(id, PeakToPeak);
7575

7676
}
7777
}

0 commit comments

Comments
 (0)