diff --git a/dc/java/dc-alignment/pom.xml b/dc/java/dc-alignment/pom.xml
index 5766279..ec522da 100644
--- a/dc/java/dc-alignment/pom.xml
+++ b/dc/java/dc-alignment/pom.xml
@@ -3,7 +3,7 @@
4.0.0
org.clas.detector
dc-alignment
- 2.3
+ 2.4
jar
diff --git a/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Alignment.java b/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Alignment.java
index b5d5a00..b27b2d5 100644
--- a/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Alignment.java
+++ b/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Alignment.java
@@ -421,6 +421,12 @@ public EmbeddedCanvasTabbed analyzeFits() {
for(EmbeddedPad pad : canvas.getCanvas("LR residuals vs. theta").getCanvasPads())
pad.getAxisX().setRange(-2000, 2000);
+ canvas.addCanvas("vertex");
+ canvas.getCanvas("vertex").draw(this.getVertexGraph("fit",null));
+ canvas.getCanvas().setFont(fontName);
+ for(EmbeddedPad pad : canvas.getCanvas("vertex").getCanvasPads())
+ pad.getAxisY().setRange(-2, 2);
+
canvas.addCanvas("residual mean and sigma");
canvas.getCanvas("residual mean and sigma").draw(this.getSectorHistograms("fit",null, 1));
canvas.getCanvas("residual mean and sigma").draw(this.getSectorHistograms("time",null, 4));
@@ -770,6 +776,49 @@ private DataGroup getAngularGraph(String parameter, Table alignment) {
return residuals;
}
+ private DataGroup getVertexGraph(String parameter, Table alignment) {
+
+ Map> graphs = new LinkedHashMap<>();
+ for (int i = 0; i < Constants.NTARGET; i++) {
+ int il = i==0 ? i : Constants.NLAYER+i;
+ for(int it=1; it0 || parameter.equals("time") || parameter.equals("LR"))
+ gr_fit.addPoint(phi, shiftRes/Constants.SCALE, 0.0, errorRes/Constants.SCALE);
+ }
+ }
+ gr_fit.setTitle("Layer " + (il+1));
+ gr_fit.setTitleX("#phi (deg)");
+ gr_fit.setTitleY("#Deltaz (cm)");
+ gr_fit.setMarkerColor(this.markerColor[it-1]);
+ gr_fit.setMarkerSize(this.markerSize);
+ if(gr_fit.getDataSize(0)>0) {
+ if(!graphs.containsKey(i))
+ graphs.put(i, new ArrayList<>());
+ graphs.get(i).add(gr_fit);
+ }
+ }
+ }
+ DataGroup dg = new DataGroup(1,graphs.size());
+ for(int key : graphs.keySet()) {
+ for(GraphErrors gr : graphs.get(key))
+ dg.addDataSet(gr, key);
+ }
+ return dg;
+ }
+
private DataGroup getSectorHistograms(String parameter, Table alignment, int icol) {
DataGroup residuals = new DataGroup(6,2);
diff --git a/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Histo.java b/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Histo.java
index f6acc70..7516f33 100644
--- a/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Histo.java
+++ b/dc/java/dc-alignment/src/main/java/org/clas/dc/alignment/Histo.java
@@ -940,6 +940,9 @@ private static boolean fitVertex(int mode, H1F histo) {
case 10:
Histo.fitRGEVertex(histo);
break;
+ case 11:
+ Histo.fitRGLVertex(histo);
+ break;
default:
if(histo.getFunction()!=null) {
if(histo.getFunction().getChiSquare()>0)
@@ -1498,8 +1501,6 @@ public static void fitRGKVertex(H1F histo) {
}
/**
-=======
->>>>>>> master
* 4-peaks vertex fitting function
* Peaks correspond to: target windows and scattering chamber exit window
* Initialized according to:
@@ -1624,6 +1625,58 @@ public static void fitRGEVertex(H1F histo) {
// if(f1_vtx.getParameter(6)