// $Id$ // // File: JEventProcessor_GX_Millepede_Alignment.h // Created: Mon Apr 20 13:16:44 EDT 2015 // Creator: mstaib (on Linux ifarm1401 2.6.32-431.el6.x86_64 x86_64) // #ifndef _JEventProcessor_GX_Millepede_Alignment_ #define _JEventProcessor_GX_Millepede_Alignment_ #include #include #include #include #include "Mille.h" // The API for writing out files for alignment #include "HistogramTools.h" #include class JEventProcessor_GX_Millepede_Alignment:public jana::JEventProcessor{ public: JEventProcessor_GX_Millepede_Alignment(); ~JEventProcessor_GX_Millepede_Alignment(); const char* className(void){return "JEventProcessor_GX_Millepede_Alignment";} private: bool CalculateDerivatives(float *localParDer, float *globalParDer, double x0, double xslope, double y0, double yslope, const DCDCWire * wire); double CalculateResidual(const DTrackTimeBased *,const DCDCWire *, double); double CalculateError(double); bool COSMICS; jerror_t init(void); ///< Called once at program start. jerror_t brun(jana::JEventLoop *eventLoop, int runnumber); ///< Called everytime a new run number is detected. jerror_t evnt(jana::JEventLoop *eventLoop, int eventnumber); ///< Called every event. jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called. jerror_t fini(void); ///< Called after last event of last event source has been processed. Mille *milleWriter; double CDC_RES_PAR1, CDC_RES_PAR2; vectorcdc_drift_table; DGeometry *dgeom; double cdc_center_z; ///< z-location of center of CDC wires in cm double cdc_axial_length; }; #endif // _JEventProcessor_GX_Millepede_Alignment_