| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

ACUNeutronCapturePosition::CapturePositionAlg Class Reference

List of all members.

Public Member Functions

def __init__
def initialize
def execute
def finalize

Public Attributes

 cableSvc

Detailed Description

Definition at line 25 of file ACUNeutronCapturePosition.py.


Member Function Documentation

def ACUNeutronCapturePosition::CapturePositionAlg::__init__ (   self,
  name 
)

Definition at line 26 of file ACUNeutronCapturePosition.py.

00026                            :
00027         DybPythonAlg.__init__(self,name)
00028         return
00029 
    def initialize(self):

def ACUNeutronCapturePosition::CapturePositionAlg::initialize (   self  ) 

Definition at line 30 of file ACUNeutronCapturePosition.py.

00030                         :
00031         status = DybPythonAlg.initialize(self)
00032         if status.isFailure(): return status
00033         self.info("initializing")
00034 
00035         self.cableSvc = self.svc('ICableSvc','StaticCableSvc')
00036         if self.cableSvc == None:
00037             self.error("Failed to get StaticCableSvc")
00038             return FAILURE
00039 
00040         # Make position histograms
00041         hist = TH2F("CapturePosition","Captured Particle z vs x",
00042                 500,-2500.0,2500.0, 500, 1500.0, 4500.0)
00043         hist.GetXaxis().SetTitle("x [mm]")
00044         hist.GetYaxis().SetTitle("z [mm]")
00045         self.stats["/file0/position/CapturePositionAll"] = hist
00046 
00047 
00048         hist = TH2F("CapturePosition","Captured Particle z vs x",
00049                 500,-2500.0,2500.0, 500, 1500.0 , 4500.0)
00050         hist.GetXaxis().SetTitle("x [mm]")
00051         hist.GetYaxis().SetTitle("z [mm]")
00052         self.stats["/file0/position/CapturePosition"] = hist
00053 
00054         hist = TH2F("CapturePosition","Capture Position for particles with E > 6MeV "
00055                 ,500,-2500.0,2500.0, 500, 1500.0 , 4500.0)
00056         hist.GetXaxis().SetTitle("x [mm]")
00057         hist.GetYaxis().SetTitle("z [mm]")
00058         self.stats["/file0/position/CapturePosition6MeV"] = hist
00059     
00060         hist = TH2F("Reconstructed Position","Energy range 0~2MeV"
00061                 ,500, -2500.0, 2500.0, 500, -500.0, 3500.0)
00062         hist.GetXaxis().SetTitle("x [mm]")
00063         hist.GetYaxis().SetTitle("z [mm]")
00064         self.stats["/file0/position/ReconPosition1"] = hist
00065         
00066         hist = TH2F("Reconstructed Position","Energy range 2~4MeV"
00067                 ,500, -2500.0, 2500.0, 500, -500.0, 3500.0)
00068         hist.GetXaxis().SetTitle("x [mm]")
00069         hist.GetYaxis().SetTitle("z [mm]")
00070         self.stats["/file0/position/ReconPosition2"] = hist
00071 
00072         hist = TH2F("Reconstructed Position","Energy range 4~6MeV"
00073                 ,500, -2500.0, 2500.0, 500, -500.0, 3500.0)
00074         hist.GetXaxis().SetTitle("x [mm]")
00075         hist.GetYaxis().SetTitle("z [mm]")
00076         self.stats["/file0/position/ReconPosition3"] = hist
00077 
00078         hist = TH2F("Reconstructed Position","Energy range 6~8MeV"
00079                 ,500, -2500.0, 2500.0, 500, -500.0, 3500.0)
00080         hist.GetXaxis().SetTitle("x [mm]")
00081         hist.GetYaxis().SetTitle("z [mm]")
00082         self.stats["/file0/position/ReconPosition4"] = hist
00083         
00084         hist = TH2F("Reconstructed Position","Energy range > 8 MeV"
00085                 ,500, -2500.0, 2500.0, 500, -500.0, 3500.0)
00086         hist.GetXaxis().SetTitle("x [mm]")
00087         hist.GetYaxis().SetTitle("z [mm]")
00088         self.stats["/file0/position/ReconPosition5"] = hist
00089 
00090         hist = TH1F("reconEnergy", "Reconstructed Energy",500,0.0,10.0)
00091         hist.GetXaxis().SetTitle("E (MeV)")
00092         hist.GetYaxis().SetTitle("Events")
00093         self.stats["/file0/energy/ReconEnergy"] = hist  
00094         
00095         return SUCCESS
00096 
    def execute(self):

def ACUNeutronCapturePosition::CapturePositionAlg::execute (   self  ) 

Definition at line 97 of file ACUNeutronCapturePosition.py.

00097                      :
00098         self.info("executing")
00099         evt = self.evtSvc()
00100 
00101         #The Capture Position of the Particles that Generate Signals in AD
00102         simHdr = evt["/Event/Sim/SimHeader"]
00103         if simHdr == None:
00104             self.error("Failed to get SimHeader")
00105             return FAILURE
00106         statsHdr = simHdr.unobservableStatistics()
00107         simStats = statsHdr.stats()
00108 
00109         x1 = simStats["xEnd_Trk1"].sum()
00110         y1 = simStats["yEnd_Trk1"].sum()
00111         z1 = simStats["zEnd_Trk1"].sum()
00112 
00113         globalPos1 = XYZPoint(x1, y1, z1)
00114         ad1 = self.detSvc("/dd/Structure/AD/db-oil1")
00115         localPos1 = ad1.geometry().toLocal(globalPos1)
00116         cx = localPos1.x()
00117         cz = localPos1.z()
00118         self.stats["/file0/position/CapturePositionAll"].Fill(cx,cz)
00119 
00120         recHdr = evt["/Event/Rec/RecHeader"]
00121         if recHdr == None:
00122             self.error("Failed to get RecHeader")
00123             return FAILURE
00124         recResults = recHdr.recResults()
00125         recTrigger = recResults["AdSimple"]
00126         if recTrigger.positionStatus() == ReconStatus.kGood:
00127             reconPos = recTrigger.position()
00128             rx = reconPos.x()
00129             rz = reconPos.z()
00130             self.stats["/file0/position/CapturePosition"].Fill(cx,cz)
00131             
00132         if recTrigger.energyStatus() == ReconStatus.kGood:
00133             reconEnergy = recTrigger.energy()
00134             self.stats["/file0/energy/ReconEnergy"].Fill(reconEnergy)
00135             if ((reconEnergy >= 0) & (reconEnergy < 2)):
00136                 self.stats["/file0/position/ReconPosition1"].Fill(rx,rz)
00137 
00138             if ((reconEnergy >= 2) & (reconEnergy < 4)) :
00139                 self.stats["/file0/position/ReconPosition2"].Fill(rx,rz)
00140 
00141             if ((reconEnergy >= 4) & (reconEnergy < 6)) :
00142                 self.stats["/file0/position/ReconPosition3"].Fill(rx,rz)
00143 
00144             if ((reconEnergy >= 6) & (reconEnergy < 8)) :
00145                 self.stats["/file0/position/ReconPosition4"].Fill(rx,rz)
00146                 self.stats["/file0/position/CapturePosition6MeV"].Fill(cx,cz)
00147             if reconEnergy >= 8 :
00148                 self.stats["/file0/position/ReconPosition5"].Fill(rx,rz)
00149                 self.stats["/file0/position/CapturePosition6MeV"].Fill(cx,cz)
00150 
00151         return SUCCESS
00152         
    def finalize(self):

def ACUNeutronCapturePosition::CapturePositionAlg::finalize (   self  ) 

Definition at line 153 of file ACUNeutronCapturePosition.py.

00153                       :
00154         self.info("finalizing")
00155         status = DybPythonAlg.finalize(self)
00156         return status
00157 
00158 
#####  Job Configuration for nuwa.py ########################################


Member Data Documentation

ACUNeutronCapturePosition::CapturePositionAlg::cableSvc

Definition at line 35 of file ACUNeutronCapturePosition.py.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:11:24 2011 for Calibration by doxygen 1.4.7