lcsim-contrib/src/main/java/org/lcsim/contrib/Mbussonn/JetFinder
diff -u -r1.6 -r1.7
--- JetFinder.java 14 Jul 2009 17:38:39 -0000 1.6
+++ JetFinder.java 20 Jul 2009 21:59:08 -0000 1.7
@@ -40,8 +40,6 @@
private static JetFinder defaultInstance;
public String outputPlots="myplots.aida";
private IProfile1D gx=null;
- //private IProfile1D gxnarrow=null;
- //private IHistogram1D gy= null;
private JetFinder()
{
System.out.println("=============================================");
@@ -113,17 +111,20 @@
double jpy = jet.getMomentum().y();
double jpz = jet.getMomentum().z();
double jpt = Math.sqrt(jpx*jpx +jpy*jpy);
- if (jpt <250)
+ double jetPhi = Math.atan2(jpx , jpy);
+ double jetTheta = Math.acos(jpz/Math.sqrt(jpz*jpz+jpy*jpy+jpx*jpx));
+ double jetEta = -Math.log(Math.tan(jetTheta/2));
+ if (jpt <200)
continue;
njets++;
List<ReconstructedParticle> listOfParticles = jet.getParticles();
if(listOfParticles.size()<2){continue;}
- // tuple.addRow();
- //aida.cloud2D("jet direction r z").fill(jpz,jpt);
itw.tuple("jetZMomentum").fillWithDouble(jpz);
itw.tuple("jetTMomentum").fillWithDouble(jpt);
+ itw.tuple("jetPhi").fill(jetPhi);
+ itw.tuple("jetTheta").fill(jetTheta);
+ itw.tuple("jetEta").fill(jetEta);
- //aida.cloud1D("nParticles").fill(listOfParticles.size());
itw.tuple("numberOfParticlePerJets").fillWithInt(listOfParticles.size());
for(ReconstructedParticle rcpInJet : listOfParticles){
MCParticle mcpp = (MCParticle) rc2mc.to(rcpInJet);
@@ -181,7 +182,9 @@
itw.tuple("notFoundsNumberOfHits").fillWithInt(findable.LayersHit(mcp));
itw.tuple("notFoundsEta").fillWithDouble(mcpx.getEta());
itw.tuple("notFounds-Angle").fillWithDouble(angle);
+
}else if (setOfTrack.size()==1){
+ Set<TrackerHit> MCPHits = new HashSet(hittomc.allTo(mcp));
ntracks++;
wgt = 1.0;
Track track = setOfTrack.iterator().next();
@@ -197,7 +200,6 @@
pmcp= mmt.magnitude();
//let's get the purity
Set<TrackerHit> trackHits = new HashSet(track.getTrackerHits()) ;
- Set<TrackerHit> MCPHits = new HashSet(hittomc.allTo(mcp));
Set intersection = new HashSet(trackHits);
intersection.retainAll(MCPHits);
trackp = (double)intersection.size()/(double)trackHits.size();
@@ -205,6 +207,22 @@
}
+ else if(setOfTrack.size()<0){
+ System.out.println("negative number of track");
+ }
+ else{
+ System.out.println("don't know");
+ }
+ double deltaPhi = jetPhi-mcpx.getPhi();
+ if(deltaPhi > Math.PI) deltaPhi -=2*Math.PI;
+ if(deltaPhi < -Math.PI) deltaPhi +=2*Math.PI;
+ double deltaTheta = jetTheta-mcpx.getTheta();
+ double deltaEta = jetEta-mcpx.getEta();
+ itw.tuple("delta_Phi").fill(deltaPhi);
+ itw.tuple("delta_Theta").fill(deltaTheta);
+ itw.tuple("delta_Eta").fill(deltaEta);
+ itw.tuple("delta_R").fill(Math.sqrt(deltaPhi*deltaPhi+deltaEta*deltaEta));
+
itw.tuple("track_d0").fillWithDouble(d0track);
itw.tuple("track_z0").fillWithDouble(z0track);
itw.tuple("mcp_d0").fillWithDouble(d0mcp);
@@ -223,9 +241,9 @@
}//end loop through MCP
if(nfindableMCP!=0){
- itw.tuple("nTrackInJet").fill(mcplist.size());
- itw.tuple("nMCPInJet").fill(ntracks);
- itw.tuple("nFIndableMCP").fill(nfindableMCP);
+ itw.tuple("nMCPInJet").fill(mcplist.size());
+ itw.tuple("nTrackInJet").fill(ntracks);
+ itw.tuple("nFindableMCP").fill(nfindableMCP);
}
@@ -237,9 +255,9 @@
@Override
public void suspend() {
- System.out.println("=================");
- System.out.println("= suspend =");
- System.out.println("=================");
+ System.out.println("======================");
+ System.out.println("= suspend =") ;
+ System.out.println("======================");
itw.dump();
}
lcsim-contrib/src/main/java/org/lcsim/contrib/Mbussonn
diff -u -r1.3 -r1.4
--- ITupleWrapper.java 14 Jul 2009 17:38:39 -0000 1.3
+++ ITupleWrapper.java 20 Jul 2009 21:59:08 -0000 1.4
@@ -92,8 +92,7 @@
if(ent.type().equals("int "))
{tuple.fill(k,ent.ValueAtIndex(j).intValue());}
else
- {tuple.fill(k,ent.ValueAtIndex(j).doubleValue());}
-
+ {tuple.fill(k,ent.ValueAtIndex(j).doubleValue());}
}
tuple.addRow();
}