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

In This Package:

DataAnalyses.h

Go to the documentation of this file.
00001 #ifndef DataAnalyses_H
00002 #define DataAnalyses_H
00003 
00004 #include "GaudiAlg/GaudiAlgorithm.h"
00005 #include "GaudiKernel/NTuple.h"
00006 #include "Context/TimeStamp.h"
00007 
00008 class IPmtGeomInfoSvc;
00009 class ICableSvc;
00010 class TimeStamp;
00011 
00012 class DataAnalyses: public GaudiAlgorithm
00013 {
00014   public:
00016     DataAnalyses(const std::string& name, ISvcLocator* svcloc);
00017     virtual ~DataAnalyses();
00018 
00020     StatusCode initialize();
00021     StatusCode execute();
00022     StatusCode finalize();
00023 
00024   private:
00025     mutable MsgStream m_log;
00026     int m_printFreq;
00027     int m_execNum;
00028     bool m_checkGen;
00029     bool m_checkReadout;
00030     bool m_checkCalibReadout;
00031     bool m_checkRec;
00032     bool m_checkLtb;
00033 
00034   private:
00035     NTuple::Tuple*            m_ntuple0;   //Gen
00036     NTuple::Item<long>        m_eventType;
00037     NTuple::Item<long>        m_nVertex;
00038     NTuple::Array<float>      m_verX0;
00039     NTuple::Array<float>      m_verY0;
00040     NTuple::Array<float>      m_verZ0;
00041     NTuple::Item<long>        m_nParticle;
00042     NTuple::Array<float>      m_verPx;
00043     NTuple::Array<float>      m_verPy;
00044     NTuple::Array<float>      m_verPz;
00045 
00046     NTuple::Tuple*           m_ntuple1;   //Readout
00047     NTuple::Item<long>       m_triggerNumber;
00048     NTuple::Item<float>      m_triggerTime;
00049     NTuple::Item<long>       m_triggerTimeSec;
00050     NTuple::Item<long>       m_triggerTimeNanoSec;
00051     NTuple::Item<long>       m_triggerType;
00052     NTuple::Item<float>      m_trigTimeInterval;
00053     NTuple::Item<float>      m_QSum;
00054     NTuple::Array<long>      m_MultiTDC;
00055     NTuple::Item<long>       m_nChannel;
00056     NTuple::Array<long>      m_adc;
00057     NTuple::Array<long>      m_adcGain;
00058     NTuple::Array<long>      m_adcRange;
00059     NTuple::Array<long>      m_adcPeakingCycle;
00060     NTuple::Array<long>      m_pedestal;
00061     NTuple::Array<long>      m_firstTdc;
00062     NTuple::Array<long>      m_secondTdc;
00063     NTuple::Array<long>      m_thirdTdc;
00064     NTuple::Array<long>      m_fourthTdc;
00065     NTuple::Array<long>      m_channelId;
00066     NTuple::Array<long>      m_slot;
00067     NTuple::Array<long>      m_connector;
00068     NTuple::Array<long>      m_sensorId;
00069     NTuple::Array<long>      m_ring;
00070     NTuple::Array<long>      m_column;
00071     NTuple::Item<long>       m_earliestHitTdc;
00072     NTuple::Item<long>       m_earliestHitChn;
00073     NTuple::Item<long>       m_latestHitTdc;
00074     NTuple::Item<long>       m_latestHitChn;
00075 
00076     NTuple::Tuple*           m_ntuple2;   //CalibReadout
00077     NTuple::Item<long>       m_calibTriggerNumber;
00078     NTuple::Item<long>       m_calibEvtNumber;
00079     NTuple::Item<float>      m_calibTriggerTime;
00080     NTuple::Item<long>       m_calibTriggerTimeSec;
00081     NTuple::Item<long>       m_calibTriggerTimeNanoSec;
00082     NTuple::Item<float>      m_calibEarlistTime;
00083     NTuple::Item<float>      m_calibQSum;
00084     NTuple::Item<long>       m_nCalibChannel;
00085     NTuple::Array<long>      m_calibRing;
00086     NTuple::Array<long>      m_calibColumn;
00087     NTuple::Array<float>     m_calibAdc;
00088     NTuple::Array<float>     m_calibTdc;
00089 
00090     NTuple::Tuple*           m_ntuple3;   //Recon
00091     NTuple::Item<long>       m_nRec;
00092     NTuple::Array<float>     m_energy;
00093     NTuple::Array<float>     m_recX;
00094     NTuple::Array<float>     m_recY;
00095     NTuple::Array<float>     m_recZ;
00096     NTuple::Array<float>     m_recPx;
00097     NTuple::Array<float>     m_recPy;
00098     NTuple::Array<float>     m_recPz;
00099 
00100     NTuple::Tuple*           m_ntuple4;   //Ltb
00101     NTuple::Item<long>       m_ltbFrameNum;
00102     NTuple::Array<long>      m_ltbTimestampType;
00103     NTuple::Array<long>      m_ltbTrigTimeSec;
00104     NTuple::Array<long>      m_ltbTrigTimeNanoSec;
00105     NTuple::Array<long>      m_ltbTrigType;
00106     NTuple::Array<long>      m_ltbHSum;
00107     NTuple::Array<long>      m_ltbESumComp;
00108     NTuple::Array<long>      m_ltbESumADC;
00109     NTuple::Array<long>      m_ltbBlockedValidTrigger;
00110 
00111   private:
00112     // Property CableSvcName - Name of the cable service
00113     std::string m_cableSvcName;
00114 
00115     //CableSvc
00116     ICableSvc*  m_cableSvc;
00117 
00118     // Property PmtGeomSvcName - Name of the PmtGeom service
00119     std::string m_pmtGeomSvcName;
00120 
00121     // Pmt Geometry Information Service
00122     IPmtGeomInfoSvc* m_pmtGeomSvc;
00123 
00124     TimeStamp m_firstTime;
00125 };
00126 
00127 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:34:06 2011 for AnalysesEx by doxygen 1.4.7