1from __future__
import print_function
2from __future__
import division
3from ctypes
import c_double
8 p = ROOT.TDatabasePDG.Instance().GetParticle(x.PdgCode())
11 txt =
'("%s") X:%6.3Fcm Y:%6.3Fcm Z:%6.3Fcm dE/dx:%6.2FMeV %s'%(\
12 x.Class_Name(),x.GetX(),x.GetY(),x.GetZ(),x.GetEnergyLoss()/u.MeV,n)
16 p = ROOT.TDatabasePDG.Instance().GetParticle(c)
20 txt =
'("ShipMCTrack") pdgCode: %7i(%10s) Z=%6.1F m P=%6.3F GeV/c mother=%i %s'%(c,n,x.GetStartZ()/u.m,x.GetP(),m,x.GetProcName())
23 txt =
'("vetoHit") detID:%7i ADC:%5.2F TDC:%5.2F'%(x.GetDetectorID(),x.GetADC(),x.GetTDC())
26 txt =
'("muonHit") detID:%7i TDC:%5.2F isValid:%r'%(x.GetDetectorID(),x.GetDigi(),x.isValid())
29 t = x.GetMeasurements()
30 txt =
'("TimeDetHit") detID:%7i TDC1:%5.2F TDC2:%5.2F isValid:%r'%(x.GetDetectorID(),t[0],t[1],x.isValid())
34 if st.isFitConverged():
35 chi2DoF = st.getChi2()/st.getNdf()
36 sta = x.getFittedState()
38 txt =
'("FitTrack") chi2/dof:%3.1F P:%5.2FGeV/c pdg:%i'%(chi2DoF,P,sta.getPDG())
40 txt =
'("FitTrack") fit not converged'
43 txt =
'("TParticle") %s P:%5.2FGeV/c VxZ:%5.2Fm'%(x.GetName(),x.P(),x.Vz()/u.m)
46 txt =
'("ShipParticle") %s M:%5.2FGeV/c2 P:%5.2FGeV/c VxZ:%5.2Fm'%(x.GetName(),x.GetMass(),x.P(),x.Vz()/u.m)
49 txt =
'("EcalCluster") E:%5.2FGeV/c X:%5.2Fm Y:%5.2Fm'%(cl.RecoE(),cl.X()/u.m,cl.Y()/u.m)
52 txt =
'("EcalCluster") E:%5.2FGeV/c X:%5.2Fm Y:%5.2Fm'%(cl.Energy(),cl.X()/u.m,cl.Y()/u.m)
57 print(k,obj.__repr__())
61 txt =
'%9.5F,%9.5F,%9.5F'%(x.X(),x.Y(),x.Z())
65 txt =
'%9.5F,%9.5F,%9.5F,%9.5F,%9.5F'%(x.Px(),x.Py(),x.Pz(),x.E(),x.Mag())
69 x, y, z = c_double(), c_double(), c_double()
71 if P.GetN()==0: txt =
'<ROOT.TEvePointSet object>'
72 for n
in range(P.GetN()):
73 rc = P.GetPoint(n,x,y,z)
74 txt +=
'%6i %7.1F,%7.1F,%9.1F x,y,z cm\n'%(n,x.value,y.value,z.value)
78 txt =
"sndScifiHit: Scifi hit in station %i"%(x.GetStation())
79 if x.isVertical(): txt+=
" vertical plane "
80 else: txt+=
" horizontal plane "
81 txt+=
"SiPM nr %3i SiPM channel %3i "%(x.GetSiPM(),x.GetSiPMChan())
84 txt =
"MuFilterHit: MuFilter hit in detector %i"%(x.GetDetectorID())
85 if x.GetDetectorID()//10000==3
and x.GetDetectorID()%1000>59:
86 txt+=
" with vertical bars top digis: "
87 for j
in range(x.GetnSiPMs()):
88 txt +=
" %7.4F "%(x.GetSignal(j))
90 txt+=
" with horizontal bars"
91 for s
in range(x.GetnSides()):
92 if s==0: txt+=
" left digis:"
93 else: txt+=
" right digis:"
94 for j
in range(x.GetnSiPMs()):
95 txt +=
" %7.4F "%(x.GetSignal(j))
98ROOT.FairMCPoint.__repr__ = MCPointPrintOut
99ROOT.ShipMCTrack.__repr__ = MCTrackPrintOut
100ROOT.genfit.Track.__repr__ = FitTrackPrintOut
101ROOT.TClonesArray.Dump = Dump
102ROOT.TVector3.__repr__ = TVector3PrintOut
103ROOT.TParticle.__repr__ = TParticlePrintOut
104ROOT.ShipParticle.__repr__ = ShipParticlePrintOut
105ROOT.TEvePointSet.__repr__ = TEvePointSetPrintOut
106ROOT.vetoHit.__repr__ = vetoHitPrintOut
107ROOT.TLorentzVector.__repr__ = TLorentzVectorPrintOut
108ROOT.sndScifiHit.__repr__ = sndScifiHitPrintOut
109ROOT.MuFilterHit.__repr__ = MuFilterHitPrintOut
ecalReconstructedPrintOut(cl)
TLorentzVectorPrintOut(x)