Skip to content

Commit a6420ea

Browse files
authored
Add configurations used for MC Production (#16)
* Add function to overwrite neighbour tree + quiet mode to minimize debug * Replace Quiet mode by negative verbosity * Replace if ( fVerbosity ) by if ( fVerbosity > 0 ) * Replace if ( fVerbosity ) by if ( fVerbosity > 0 ) * Remove Overwrite function, fix missing verbosity flag * Update WCSimFLOWER.h * Add configurations used for MC Production * Correct Neighbour distance for Hybrid 40pc * Remove debug
1 parent b9f6177 commit a6420ea

File tree

2 files changed

+58
-3
lines changed

2 files changed

+58
-3
lines changed

WCSimFLOWER.cpp

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,42 @@ WCSimFLOWER::WCSimFLOWER(const char * detectorname, WCSimRootGeom * geom, bool o
5353
fTopBottomDistanceLo = 2670;
5454
fTopBottomDistanceHi = 2690;
5555
break;
56+
case kHyperK20BnL0mPMT: // WCSim Hybrid 20% case
57+
fDarkRate = 8.4; // dark rate of 50cm Box&Line PMTs
58+
fDarkRate2 = 0.; // dark rate of 7.5cm PMTs in mPMT modules
59+
fNPMTs = 19418; // total number of 50cm Box&Line PMTs
60+
fNPMTs2 = 0; // total number of 7.5cm PMTs (10k mPMT modules, 19 PMTs each)
61+
fNeighbourDistance = 145;
62+
fTopBottomDistanceLo = 2670;
63+
fTopBottomDistanceHi = 2690;
64+
break;
65+
case kHyperK40BnL0mPMT:
66+
fDarkRate = 8.4; // dark rate of 50cm Box&Line PMTs
67+
fDarkRate2 = 0.; // dark rate of 7.5cm PMTs in mPMT modules
68+
fNPMTs = 38952; // total number of 50cm Box&Line PMTs
69+
fNPMTs2 = 0; // total number of 7.5cm PMTs (10k mPMT modules, 19 PMTs each)
70+
fNeighbourDistance = 102;
71+
fTopBottomDistanceLo = 2670;
72+
fTopBottomDistanceHi = 2690;
73+
break;
74+
case kHyperK20BnL3mPMT:
75+
fDarkRate = 8.4; // dark rate of 50cm Box&Line PMTs
76+
fDarkRate2 = 0.3; // dark rate of 7.5cm PMTs in mPMT modules
77+
fNPMTs = 20055; // total number of 50cm Box&Line PMTs
78+
fNPMTs2 = 54131; // total number of 7.5cm PMTs (10k mPMT modules, 19 PMTs each)
79+
fNeighbourDistance = 145;
80+
fTopBottomDistanceLo = 2670;
81+
fTopBottomDistanceHi = 2690;
82+
break;
83+
case kHyperK20BnL5mPMT:
84+
fDarkRate = 8.4; // dark rate of 50cm Box&Line PMTs
85+
fDarkRate2 = 0.3; // dark rate of 7.5cm PMTs in mPMT modules
86+
fNPMTs = 18952; // total number of 50cm Box&Line PMTs
87+
fNPMTs2 = 89604; // total number of 7.5cm PMTs (10k mPMT modules, 19 PMTs each)
88+
fNeighbourDistance = 145;
89+
fTopBottomDistanceLo = 2670;
90+
fTopBottomDistanceHi = 2690;
91+
break;
5692
case kHyperK20BnL10mPMT:
5793
fDarkRate = 8.4; // dark rate of 50cm Box&Line PMTs
5894
fDarkRate2 = 0.3; // dark rate of 7.5cm PMTs in mPMT modules
@@ -192,6 +228,14 @@ WCSimFLOWER::kDetector_t WCSimFLOWER::DetectorEnumFromString(std::string name)
192228
return kSuperK;
193229
else if (!name.compare("HyperK_20perCent"))
194230
return kHyperK20;
231+
else if (!name.compare("HyperK_20BnL0mPMT")) // TODO: name should be consistent with https://github.com/bquilain/WCSim/blob/hybridPMT/src/WCSimDetectorConfigs.cc
232+
return kHyperK20BnL0mPMT;
233+
else if (!name.compare("HyperK_40BnL0mPMT")) // TODO: name should be consistent with https://github.com/bquilain/WCSim/blob/hybridPMT/src/WCSimDetectorConfigs.cc
234+
return kHyperK40BnL0mPMT;
235+
else if (!name.compare("HyperK_20BnL3mPMT")) // TODO: name should be consistent with https://github.com/bquilain/WCSim/blob/hybridPMT/src/WCSimDetectorConfigs.cc
236+
return kHyperK20BnL3mPMT;
237+
else if (!name.compare("HyperK_20BnL5mPMT")) // TODO: name should be consistent with https://github.com/bquilain/WCSim/blob/hybridPMT/src/WCSimDetectorConfigs.cc
238+
return kHyperK20BnL5mPMT;
195239
else if (!name.compare("HyperK_20BnL10mPMT")) // TODO: name should be consistent with https://github.com/bquilain/WCSim/blob/hybridPMT/src/WCSimDetectorConfigs.cc
196240
return kHyperK20BnL10mPMT;
197241
cerr << "DetectorEnumFromString() Unknown detector name: " << name << endl;
@@ -441,9 +485,20 @@ void WCSimFLOWER::GetNEff()
441485
photoCoverage = 1 / WCSimFLOWER::fEffCoverages[int(theta/10)]; // 1 over photocoverage, assuming SuperK or HyperK_40perCent
442486
if (fDetector == kHyperK20)
443487
photoCoverage *= 38448 / float(fNPMTs); // ratio of number of PMTs
488+
if (fDetector == kHyperK20BnL0mPMT) {
489+
photoCoverage *= 38952 / float(fNPMTs); // ratio of number of B&L PMTs
490+
}
491+
if (fDetector == kHyperK20BnL3mPMT) {
492+
photoCoverage *= 38952 / float(fNPMTs); // ratio of number of B&L PMTs
493+
photoCoverage /= 1.06; // 3k mPMT modules (19 PMTs, 3" diameter) have 6% the area of 20055 20-inch PMTs
494+
}
495+
if (fDetector == kHyperK20BnL5mPMT) {
496+
photoCoverage *= 38952 / float(fNPMTs); // ratio of number of B&L PMTs
497+
photoCoverage /= 1.11; // 5k mPMT modules (19 PMTs, 3" diameter) have 22% the area of 18952 20-inch PMTs
498+
}
444499
if (fDetector == kHyperK20BnL10mPMT) {
445-
photoCoverage *= 39238 / float(fNPMTs); // ratio of number of B&L PMTs
446-
photoCoverage /= 1.22; // 10k mPMT modules (19 PMTs, 3" diameter) have 22% the area of 19462 20-inch PMTs
500+
photoCoverage *= 38952 / float(fNPMTs); // ratio of number of B&L PMTs
501+
photoCoverage /= 1.22; // 10k mPMT modules (19 PMTs, 3" diameter) have 22% the area of 19208 20-inch PMTs
447502
}
448503
// correct for scattering in water
449504
waterTransparency = exp(fDistanceShort[i] / fLambdaEff);

WCSimFLOWER.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class WCSimFLOWER {
3939
TString GetFLOWERDataDir();
4040

4141
private:
42-
enum kDetector_t {kSuperK = 0, kHyperK40, kHyperK20, kHyperK20BnL10mPMT};
42+
enum kDetector_t {kSuperK = 0, kHyperK40, kHyperK20, kHyperK20BnL0mPMT, kHyperK40BnL0mPMT, kHyperK20BnL3mPMT, kHyperK20BnL5mPMT, kHyperK20BnL10mPMT};
4343

4444
kDetector_t DetectorEnumFromString(std::string name);
4545
void CorrectHitTimes();

0 commit comments

Comments
 (0)