FlyoDoc_2011 Pisa 2011 by GmP --- 011
|
00001 /*************************************************************************** 00002 analisi.h - description 00003 ------------------- 00004 begin : Sat Jan 18 2003 00005 copyright : (C) 2003 by Giuseppe Pierazzini 00006 email : peppe@unipi.it 00007 ***************************************************************************/ 00008 00009 #ifndef ANALISI_H 00010 #define ANALISI_H 00011 #include "flyoh.h" 00012 #include "device.h" 00013 #include "gigabeam.h" 00014 using namespace std; 00021 struct Vtxstruct 00022 { 00023 int Ntr; 00024 gvet *P,*V; 00025 gvet Vtx; 00026 double chiq; 00027 gmatrix *Proj; 00028 Vtxstruct(int n); 00029 void Vertice(); 00030 00031 }; 00032 00033 00034 00035 class Analisi 00036 { 00037 protected: 00038 00039 const char *nome; 00040 int nev; 00041 int tipo; 00042 double ana_tempo,ana_dtim; 00043 double msAvo,msqAvo,ctauAvo; 00044 double reckik; 00045 GigaBeam *Pk_ric; 00046 00047 public: 00048 const char *titol; 00049 int count_call,count_decay,getta_gg,getta_en,getta_cog,getta_tau,getta_gf; 00050 00051 int getta_trk,getta_ch ; // counter for wrong charge 00052 int getta_fit,count_wnt,getta_char; 00053 int getta_kabes; 00054 int counter[30]; 00055 void Set_tempo_parms(); 00056 00057 00058 //------------------------------------------ 00059 //dummy variable for calculation... 00060 00061 int idpr[12],mishit,nvar,nfit,nextra,Kmax; 00062 double x[12],y[12],e[12],xgood[12],ygood[12],egood[12],ek; 00063 double distq,dist,dsumq, diffq; 00064 double smaq,smbq,smcq; 00065 double egij[15],exij[15],eyij[15],dxij[15],dyij[15],ddij[15],mij[15]; 00066 double dersq[24]; 00067 double sv[24]; 00068 gvet Pa,Pb; 00069 qvet q0,q1,q2,qs; 00070 int g0,g1,g2,g3,g4,g5,g6,flag[12]; // gi gamma index in the lkr 00071 //-------------------------------------------- 00072 00073 Analisi *up,*next; 00074 Analisi(); 00075 virtual ~Analisi(); 00076 virtual int Fisica(){return 0;}; 00077 virtual void print_scale(); 00078 virtual int kappa(){return 0;}; 00079 virtual void Reset_parm(){}; 00080 virtual int MassFit(){return 0;}; 00081 virtual int MassChiq(){return 0;}; 00082 virtual double Distvtx(){return 0.;}; 00083 virtual double Degij(int,int) {return 0.;}; 00084 virtual void Ddistq(){}; 00085 virtual void Simq(int, int){}; 00086 virtual float Get_chi(){return 0.;}; 00087 void Write_titol(); 00088 int Get_Tipo() {return tipo;}; 00089 const char *Nome(){return nome;}; 00090 double Vertice2(gvet &Xvert,gvet P1,gvet V1,gvet P2,gvet V2); 00091 00092 00093 }; 00094 00095 00096 00097 #if defined(MAIN) 00098 Analisi *Primofit=0; 00099 #endif 00100 #if !defined(MAIN) 00101 extern Analisi *Primofit; 00102 #endif 00103 00104 #if defined(MAIN) 00105 int Ausr=0; 00106 int K4g=0,K6g=0,K2p=0,K3p=0,K3l=0,Ka2pi=0,Pi2g=0,E2g=0,E6g=0,K2p2g=0,Bea=0; 00107 int Kl2=0,Ke2g=0,Kpc2g=0,Kpcpi0=0,Kpcp0g=0,Kpc2p0=0,K2p0enu=0,K2pcenu=0,Kpc3g=0,Kpivv=0,Kmunu=0,Kpovv=0; 00108 int Kpip0=0,Kpip0ee=0; 00109 int Klambda=0,Kevg=0,Kpievg=0,Kmvg=0; 00110 #endif 00111 00112 00113 #if !defined(MAIN) 00114 extern int Ausr; 00115 extern int K4g,K6g,K2p,K3p,K3l,Ka2pi,Pi2g,E2g,E6g,K2p2g,Bea; 00116 extern int Kl2,Ke2g,Kpc2g,Kpcpi0,Kpcp0g,Kpc2p0,K2p0enu,K2pcenu,Kpc3g,Kpivv,Kmunu,Kpovv,Kpip0,Kpip0ee; 00117 extern int Klambda,Kevg,Kpievg,Kmvg; 00118 #endif 00119 #endif