Skip to content

Commit 0968cd2

Browse files
add REC::ScintExtras bank with dE/dx and cluster info
1 parent bf48270 commit 0968cd2

File tree

9 files changed

+59
-9
lines changed

9 files changed

+59
-9
lines changed

common-tools/clas-reco/src/main/java/org/jlab/clas/detector/DetectorData.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,25 @@ public static DataBank getScintillatorResponseBank(List<DetectorResponse> respon
281281
bank.setFloat("energy", row, (float) r.getEnergy());
282282
bank.setFloat("chi2", row, (float) 0.0);
283283
bank.setShort("status",row,(short) r.getStatus());
284+
row++;
285+
}
286+
}
287+
return bank;
288+
}
289+
290+
public static DataBank getScintExtrasResponseBank(List<DetectorResponse> responses, DataEvent event, String bank_name){
291+
int nrows=0;
292+
for(int iresp=0; iresp<responses.size(); iresp++) {
293+
nrows += responses.get(iresp).getNAssociations();
294+
}
295+
int row=0;
296+
DataBank bank = event.createBank(bank_name, nrows);
297+
for(int iresp = 0; iresp < responses.size(); iresp++){
298+
DetectorResponse r = responses.get(iresp);
299+
for(int iass = 0; iass < r.getNAssociations(); iass++) {
284300
bank.setFloat("dedx",row,(float) ((ScintillatorResponse)r).getDedx());
301+
bank.setShort("size",row, ((ScintillatorResponse)r).getClusterSize());
302+
bank.setByte("layermult",row, ((ScintillatorResponse)r).getLayerMultiplicity());
285303
row++;
286304
}
287305
}

common-tools/clas-reco/src/main/java/org/jlab/clas/detector/ScintillatorResponse.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,12 @@ public static List<DetectorResponse> readHipoEvent(DataEvent event,
5757
float dx = bank.getFloat("pathLengthThruBar",row);
5858
if (dx>0) response.setDedx(bank.getFloat("energy", row)/dx);
5959
}
60-
else if (type == DetectorType.CND) {
60+
if (type == DetectorType.CTOF) {
6161
response.clusterSize = bank.getShort("size",row);
62-
response.layerMultiplicity = bank.getByte("layermultip",row);
62+
}
63+
if (type == DetectorType.CND) {
64+
response.clusterSize = bank.getShort("size",row);
65+
response.layerMultiplicity = bank.getByte("layermult",row);
6366
}
6467

6568
responseList.add(response);

etc/bankdefs/hipo4/cnd.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
{"name":"z", "type":"F", "info":"center of Z coor (cm) of the hits"},
5050
{"name":"time", "type":"F", "info":"center of time (ns) of the hits"},
5151
{"name":"status", "type":"S", "info":"cluster status"},
52-
{"name":"layermultip", "type":"B", "info":"layer multiplicity"},
52+
{"name":"layermult", "type":"B", "info":"layer multiplicity"},
5353
{"name":"layer1", "type":"B", "info":"firt layer hit"},
5454
{"name":"layer2", "type":"B", "info":"second layer hit"},
5555
{"name":"layer3", "type":"B", "info":"third layer hit"}

etc/bankdefs/hipo4/event.json

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,18 @@
140140
{"name":"hx", "type":"F", "info":"X coordinate of the matched hit (cm)"},
141141
{"name":"hy", "type":"F", "info":"Y coordinate of the mathced hit (cm)"},
142142
{"name":"hz", "type":"F", "info":"Z coordinate of the matched hit (cm)"},
143-
{"name":"status", "type":"S", "info":"hit status"},
144-
{"name":"dedx", "type":"F", "info":"Energy deposition per distance travelled (MeV/cm)"}
143+
{"name":"status", "type":"S", "info":"hit status"}
144+
]
145+
},
146+
{
147+
"name": "RECHB::ScintExtras",
148+
"group": 300,
149+
"item" : 23,
150+
"info": "Scintillator Cluster Parameters",
151+
"entries": [
152+
{"name":"dedx", "type":"F", "info":"Energy deposition per distance travelled (MeV/cm)"},
153+
{"name":"size", "type":"S", "info":"cluster size"},
154+
{"name":"layermult","type":"B", "info":"cluster layer multiplicity"}
145155
]
146156
},
147157
{
@@ -321,8 +331,18 @@
321331
{"name":"hx", "type":"F", "info":"X coordinate of the matched hit (cm)"},
322332
{"name":"hy", "type":"F", "info":"Y coordinate of the mathced hit (cm)"},
323333
{"name":"hz", "type":"F", "info":"Z coordinate of the matched hit (cm)"},
324-
{"name":"status", "type":"S", "info":"hit status"},
325-
{"name":"dedx", "type":"F", "info":"Energy deposition per distance travelled (MeV/cm)"}
334+
{"name":"status", "type":"S", "info":"hit status"}
335+
]
336+
},
337+
{
338+
"name": "REC::ScintExtras",
339+
"group": 300,
340+
"item" : 43,
341+
"info": "Scintillator Cluster Parameters",
342+
"entries": [
343+
{"name":"dedx", "type":"F", "info":"Energy deposition per distance travelled (MeV/cm)"},
344+
{"name":"size", "type":"S", "info":"cluster size"},
345+
{"name":"layermult","type":"B", "info":"cluster layer multiplicity"}
326346
]
327347
},
328348
{

reconstruction/cnd/src/main/java/org/jlab/service/cnd/CNDCalibrationEngine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public boolean processDataEvent(DataEvent event) {
186186
bank2.setFloat("time",i, (float)(1.0* cndclusters.get(i).get_time()) );
187187
bank2.setShort("status",i, (short) cndclusters.get(i).get_status());
188188
//should add here the layer multiplicity
189-
bank2.setByte("layermultip",i, (byte) cndclusters.get(i).get_layermultip() );
189+
bank2.setByte("layermult",i, (byte) cndclusters.get(i).get_layermultip() );
190190
bank2.setByte("layer1",i, (byte) cndclusters.get(i).get_layer1() );
191191
bank2.setByte("layer2",i, (byte) cndclusters.get(i).get_layer2() );
192192
bank2.setByte("layer3",i, (byte) cndclusters.get(i).get_layer3() );

reconstruction/eb/src/main/java/org/jlab/service/eb/EBEngine.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class EBEngine extends ReconstructionEngine {
3232
String particleBankFT = null;
3333
String calorimeterBank = null;
3434
String scintillatorBank = null;
35+
String scintextrasBank = null;
3536
String cherenkovBank = null;
3637
String trackBank = null;
3738
String crossBank = null;
@@ -165,6 +166,8 @@ public boolean processDataEvent(DataEvent de,EBScalers ebs) {
165166
if(scintillatorBank!=null && scintillators.size()>0) {
166167
DataBank bankSci = DetectorData.getScintillatorResponseBank(scintillators, de, scintillatorBank);
167168
de.appendBanks(bankSci);
169+
DataBank eaxtbankSci = DetectorData.getScintExtrasResponseBank(scintillators, de, scintextrasBank);
170+
de.appendBanks(eaxtbankSci);
168171
}
169172
List<DetectorResponse> cherenkovs = eb.getEvent().getCherenkovResponseList();
170173
if(cherenkovBank!=null && cherenkovs.size()>0) {
@@ -229,6 +232,10 @@ public void setScintillatorBank(String scintillatorBank) {
229232
this.scintillatorBank = scintillatorBank;
230233
}
231234

235+
public void setScintClusterBank(String scintclusterBank) {
236+
this.scintextrasBank = scintclusterBank;
237+
}
238+
232239
public void setCherenkovBank(String cherenkovBank) {
233240
this.cherenkovBank = cherenkovBank;
234241
}

reconstruction/eb/src/main/java/org/jlab/service/eb/EBHBEngine.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public void initBankNames() {
2929
this.setCalorimeterBank("RECHB::Calorimeter");
3030
this.setCherenkovBank("RECHB::Cherenkov");
3131
this.setScintillatorBank("RECHB::Scintillator");
32+
this.setScintClusterBank("RECHB::ScintExtras");
3233
this.setTrackBank("RECHB::Track");
3334
this.setCrossBank("RECHB::TrackCross");
3435
this.setTrackType("HitBasedTrkg::HBTracks");

reconstruction/eb/src/main/java/org/jlab/service/eb/EBTBEngine.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public void initBankNames() {
3131
this.setCalorimeterBank("REC::Calorimeter");
3232
this.setCherenkovBank("REC::Cherenkov");
3333
this.setScintillatorBank("REC::Scintillator");
34+
this.setScintClusterBank("REC::ScintExtras");
3435
this.setTrackBank("REC::Track");
3536
this.setCrossBank("REC::TrackCross");
3637
this.setCovMatrixBank("REC::CovMat");

validation/advanced-tests/src/eb/EBTwoTrackTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ private void checkResults() {
457457
else assertEquals(kEff>0.60,true);
458458
break;
459459
case 211:
460-
if (isCentral) assertEquals(piEff>0.75,true);
460+
if (isCentral) assertEquals(piEff>0.72,true);
461461
else assertEquals(piEff>0.75,true);
462462
break;
463463
case 22:

0 commit comments

Comments
 (0)