#include #include #include #include #include "TauSpinner/ew_born.h" #include "TauSpinner/EWtables.h" using namespace std; using namespace TauSpinner; //ROOT headers #include "TH1.h" #include "TF1.h" #include "TFile.h" int main(){ // NOTE that choice for implicateshistograms header names // // char* mumu="table.mu-621"; // char* mumu="table.mu-642-vac"; // char* mumu="table.mu-642-bare"; char* mumu="table.mu-645"; char* downdown= "table.down";//"results/Feb3/table.down-6.21"; char* upup= "table.up"; //"results/Feb3/table.up-6.21"; int FLAV=0; // 0-lepton 2-up 1-down //-names to show on first plots when FFdraw.C is used: stringstream alpha; stringstream beta; stringstream sigma; //-names to show on second (ratio-diff) plots when FFdraw.C is used: //-For FFdrawDwa.C these names will be passed to first/second plots // if they are used for first/second file of comparison stringstream gamma; stringstream delta; stringstream ksi; alpha <<"Sigo Tauola Born and corrected"; beta <<"Asym Tauola Born and corrected "; sigma <<"Pol Tauola Born and corrected "; if (mumu=="table.mu-642-vac"){ gamma <<"Sig Dizet-6.42 vacNew (2017) "; delta <<"Asym Dizet-6.42 vacNew (2017) "; ksi <<"Pol Dizet-6.42 vacNew (2017) "; } else if (mumu=="table.mu-642-bare"){ gamma <<"Sig Dizet-6.42 (2005) vacOld "; delta <<"Asym Dizet-6.42 (2005) vacOld "; ksi <<"Pol Dizet-6.42 (2005) vacOld "; } else if (mumu=="table.mu-645"){ gamma <<"Sig Dizet-6.45 vacNew (2017) "; delta <<"Asym Dizet-6.45 vacNew (2017) "; ksi <<"Pol Dizet-6.45 vacNew (2017) "; } else if (mumu=="table.mu-621"){ gamma <<"Sig Dizet-6.21 (1990) vacOld "; delta <<"Asym Dizet-6.21 (1990) vacOld "; ksi <<"Pol Dizet-6.21 (1990) vacOld "; } //======= INITIALIZATION B end ======== int j=initTables(mumu,downdown,upup); // initialization //int i=testit(); // general printout int i=0; cout << " Is all OK? Control variables j,i=" << i <<" "< \n"); printf("ene= %5.1f\n", ener[kk]); for (int ll=0;ll<=6;ll++){ cc= 0.1*(3*ll-9); s=ener[kk]*ener[kk]; printf("cos=%5.2f", cc); printf(":"); for(int JJ=0; JJ<=3;JJ++){ iffac=JJ; complex rezu= EWFACT(iflav, iffac, s, cc); printf(" F%d =(%12.5e,%12.5e)", iffac,rezu.real(),rezu.imag()); } for(int JJ=5; JJ<=6;JJ++){ iffac=JJ; complex rezu= EWFACT(iflav, iffac, s, cc); printf(" F%d =(%12.5e,%12.5e)", iffac,rezu.real(),rezu.imag()); } cout <<" "<< endl; } cout <<" "<< endl; } cout <<" "<< endl; cout <<" "<< endl; cout <<" results for QCD formfactors "<< endl; cout <<" "<< endl; for (int kk=0;kk<10;kk++){ s=ener[kk]*ener[kk]; printf("ene= %5.1f", ener[kk]); printf(": "); for(int JJ=0; JJ<=3;JJ++){ iffac=JJ; double rezu1= QCDFACT(iflav, iffac, s); printf(" FS%d = %8.3e", iffac,rezu1); } cout <<" "<< endl; } cout <<" "<< endl; } cout <<" "<< endl; cout <<" "<< endl; cout <<" ===== DRAWING FRMFACTOR for: ===="<< endl; int NB=400; double Xmin=20.;//230.; //145.;//230.; //149.185; double Xmax=150.;//260.; //155.;//260.; //149.19; // double Xmin1=150.; // double Xmax1=300.; double aa; aa=(Xmax-Xmin)/NB; // double aa1; // aa1=(Xmax1-Xmin1)/NB; int NO=2; //<<<<<<<<<<<<<<<<<<< // double costhe=0.0; cout <<"Drawing for FLAVOR "< FF"< FF"< FF"< FF"< FF"< FF"< FF"< FF"< FF"< FF"<Fill(Ener,imag(EWFACT(FLAV,NO,Ener*Ener,costh))); FFreM9->Fill(Ener,real(EWFACT(FLAV,NO,Ener*Ener,costh))); costh=-0.33; FFimM3->Fill(Ener,imag(EWFACT(FLAV,NO,Ener*Ener,costh))); FFreM3->Fill(Ener,real(EWFACT(FLAV,NO,Ener*Ener,costh))); costh=0.; FFimM0->Fill(Ener,imag(EWFACT(FLAV,NO,Ener*Ener,costh))); FFreM0->Fill(Ener,real(EWFACT(FLAV,NO,Ener*Ener,costh))); costh=0.33; FFimP3->Fill(Ener,imag(EWFACT(FLAV,NO,Ener*Ener,costh))); FFreP3->Fill(Ener,real(EWFACT(FLAV,NO,Ener*Ener,costh))); costh=0.99; FFimP9->Fill(Ener,imag(EWFACT(FLAV,NO,Ener*Ener,costh))); FFreP9->Fill(Ener,real(EWFACT(FLAV,NO,Ener*Ener,costh))); // FFimA->Fill(Ener1,imag(EWFACT(FLAV,NO,Ener1*Ener1,costhe))); // FFreA->Fill(Ener1,real(EWFACT(FLAV,NO,Ener1*Ener1,costhe))); } FFimM9->Write(); FFreM9->Write(); FFimM3->Write(); FFreM3->Write(); FFimM0->Write(); FFreM0->Write(); FFimP3->Write(); FFreP3->Write(); FFimP9->Write(); FFreP9->Write(); FFimM9->Draw(); FFimM3->Draw("same"); FFimM0->Draw("same"); FFimP3->Draw("same"); FFimP9->Draw("same"); FFreM9->Draw(); FFreM3->Draw("same"); FFreM0->Draw("same"); FFreP3->Draw("same"); FFreP9->Draw("same"); FFimP9->Write(); // duplication:: line to be removed? FFreP9->Write(); // duplication:: line to be removed? //FFimA->Write(); //FFreA->Write(); // file->Close(); cout <<" "<< endl; cout <<" =================================="<< endl; cout <<" ===== ====="<< endl; cout <<" ===== PART TWO ====="<< endl; cout <<" ===== test of sigbornswdelt ====="<< endl; cout <<" ===== ====="<< endl; cout <<" =================================="<< endl; cout <<" "<< endl; int ID ; // double double ama=0.; double AMZ00=91.1876;//91.18870000; //91.1876 double GAM00=2.495378; AMZ00=Amz(FLAV); GAM00=Gamz(FLAV); // double sinOnMshell=sin2W(FLAV); s=(AMZ00+ama)*(AMZ00+ama); // double cc=0.5; double SWeff=0.2235200000;// 0.2121517; //0.22352;// 0.22351946; //0.231708; //.231; // dummy double DeltSQ=0.; double DeltV=0.; double Gmu=0.00001166389;// 0.00001166378; //1.16639e-5; double alfinv=137.0359895;// dummy int keyGSW=1; // it is not clear which of the parameters will stay. ID=2; // cout << " s = "<Fill(Ener,Nor*sigbornswdelt(mod,ID, s, cc, SWeff, DeltSQ, DeltV, Gmu, alfinv, AMZ, GAM, keyGSW)); Asym0->Fill(Ener,Aor*sigbornswdelt(mod,ID, s, cc, SWeff, DeltSQ, DeltV, Gmu, alfinv, AMZ, GAM, keyGSW)); Pol0->Fill(Ener,Nor*AsNbornswdelt(mod,ID, s, cc, SWeff, DeltSQ, DeltV, Gmu, alfinv, AMZ, GAM, keyGSW)); mod=1; SWeff=0.223520000; alfinv=137.0359895; keyGSW=1; Sigo1->Fill(Ener,Nor*sigbornswdelt(mod,ID, s, cc, SWeff, DeltSQ, DeltV, Gmu, alfinv, AMZ, GAM, keyGSW)); Asym1->Fill(Ener,Aor*sigbornswdelt(mod,ID, s, cc, SWeff, DeltSQ, DeltV, Gmu, alfinv, AMZ, GAM, keyGSW)); Pol1->Fill(Ener,Nor*AsNbornswdelt(mod,ID, s, cc, SWeff, DeltSQ, DeltV, Gmu, alfinv, AMZ, GAM, keyGSW)); } } Sigo0->Write(); Sigo1->Write(); Asym0->Divide(Sigo0); Asym1->Divide(Sigo1); Asym0->Write(); Asym1->Write(); Pol0->Divide(Sigo0); Pol1->Divide(Sigo1); Pol0->Write(); Pol1->Write(); file->Close(); }