// ------------------------------------------------------------------------- // ----- AnaCHI source file ----- // ----- Created 13/04/12 by P. Russotto ----- // ------------------------------------------------------------------------- #include "AnaCHI.h" #include "FairLogger.h" #include "TClonesArray.h" #include #define UMA 931.5 #define UMAGeV 0.9315 #define ratio 1 #define ycm 0.448 using std::cout; using std::endl; AnaCHI::AnaCHI() :FairTask() { //init calibration } // ------------------------------------------------------------------------- AnaCHI::AnaCHI(const char* name, Int_t iVerbose) : FairTask(name, iVerbose), fRootCHITSCopy(0), fRootMBSTSCopy(0), fRootMBallEventCopy(0), fRootLANDEventCopy(0), fRootCHIEventCopy(0) { } // ------------------------------------------------------------------------- AnaCHI::~AnaCHI() { } // ------------------------------------------------------------------------- InitStatus AnaCHI::Init() { fLogger->Info(MESSAGE_ORIGIN," AnaCHI::Init()------------------Start "); for (int iavv=0;iavv<5;iavv++){ cout << "RAW VERSION, NOR TESTED OR DEBUGGED!!!!!!!!!!"<GetObject("CHIEVENTCLONE"); fRootMBallEventCopy = (TClonesArray*) ioman->GetObject("MBALLEVENTCLONE"); // fRootLANDEventCopy = (TClonesArray*) ioman->GetObject("LANDEVENTCLONE"); fRootCHITSCopy = (TClonesArray*) ioman->GetObject("CHITSCLONE"); fRootMBSTSCopy = (TClonesArray*) ioman->GetObject("MBSTSCLONE"); fCHITS = (TRootTS*)fRootCHITSCopy; fMBSTS = (TRootTS*)fRootMBSTSCopy; fGlobalVar= new TGlobalVar(); ioman->Register("GlobalVAR", "global variables", fGlobalVar, kTRUE); fMBallEvent = (TRootMBallEvent*)fRootMBallEventCopy; // fLANDEvent = (TRootLANDEvent*)fRootLANDEventCopy; fCHIEvent = (TRootCHIEvent*)fRootCHIEventCopy; /* ioman->Register("CHIEVENT", "CHIMERA EVENT TREE", fCHIEvent, kTRUE); ioman->Register("CHITS", "CHIMERA TIMESTAMP", fCHITS, kTRUE); ioman->Register("MBALLEVENT", "MBALL EVENT TREE", fMBallEvent, kTRUE); ioman->Register("LANDEVENT", "LAND EVENT TREE", fLANDEvent, kTRUE); ioman->Register("MBSTS", "MBS TIME STAMP", fMBSTS, kTRUE);*/ h1_ZTot=new TH1F("h1_ZTot","ZTot",50,-0.5,99.5); h1_Etrans12=new TH1F("h1_Etrans12","Etrans12",200,0.,1000.); h2_Etrans12_ZR7=new TH2F("h2_Etrans12_ZR7","Etrans12_ZR7",100,0.,1500.,30,-0.5,29.5); hp_Etrans12_ZR7=new TProfile("hp_Etrans12_ZR7","Etrans12_ZR7",100,0.,1500.,-0.5,29.5); h2_Etrans12_Mult=new TH2F("h2_Etrans12_Mult","Etrans12_Mult", 100,0.,1500.,60,-0.5,59.5); hp_Etrans12_Mult=new TProfile("hp_Etrans12_Mult","Etrans12_Mult",100,0.,1500.,-0.5,59.5); h2_MultCHI_MultMB=new TH2F("h2_MultCHI_MultMB","MultCHI_MultMB",40,-0.5,79.5,40,-0.5,79.5); h2_PhiCHI_PhiMB=new TH2F("h2_PhiCHI_PhiMB","PhiCHI_PhiMB",60,-180.,180.,60,-180.,180.); h1_DPhiCHIMB=new TH1F("h1_DPhiCHIMB","DPhiCHIMB",60,-180.,180.); h1_ThetaMB=new TH1F("h1_ThetaMB","ThetaMB",36,0.,180.); h1_ThetaMBMean=new TH1F("h1_ThetaMBMean","ThetaMBMean",90,0.,180.); h1_MBMultRatio=new TH1F("h1_MBMultRatio","MBMultRatio",30,-5.,25.);; h2_YZ=new TH2F("h2_YZ","YZ",200,-0.6,1.4,10,-0.5,9.5); h2_YZ-> GetXaxis()->SetTitle("Y_{lab}"); h2_YZ-> GetYaxis()->SetTitle("Z"); h2_Ygb=new TH2F("h2_Ygb","Ygb",200,-0.6,1.4,70,0.,0.7); h2_Ygbcut=new TH2F("h2_Ygbcut","Ygbcut",200,-0.6,1.4,70,0.,0.7); h2_Ygb-> GetXaxis()->SetTitle("Y_{lab}"); h2_Ygb-> GetYaxis()->SetTitle("#beta_{t}#gamma"); h2_YptH=new TH2F("h2_YptH","YptH",200,-0.6,1.4,70,0.,0.7); h2_YptH-> GetXaxis()->SetTitle("Y_{lab}"); h2_YptH-> GetYaxis()->SetTitle("p_{t}/A (GeV/c)"); h1_Y=new TH1F("h1_Y","Y",100,-0.6,1.4); h1_EMB=new TH1F("h1_EMB","EMB",200,-20.,180.); h2_Ygb_1HS=new TH2F("h2_Ygb_1HS","Ygb_1HS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_2HS=new TH2F("h2_Ygb_2HS","Ygb_2HS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_3HS=new TH2F("h2_Ygb_3HS","Ygb_3HS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_1HPT=new TH2F("h2_Ygb_1HPT","Ygb_1HPT",200,-0.6,1.4,70,0.,0.7); h2_Ygb_4HeS=new TH2F("h2_Ygb_4HeS","Ygb_4HeS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_3HeS=new TH2F("h2_Ygb_3HeS","Ygb_3HeS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_4HePT=new TH2F("h2_Ygb_4HePT","Ygb_4HePT",200,-0.6,1.4,70,0.,0.7); h2_Ygb_LiS=new TH2F("h2_Ygb_LiS","Ygb_LiS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_LiPT=new TH2F("h2_Ygb_LiPT","Ygb_LiPT",200,-0.6,1.4,70,0.,0.7); h2_Ygb_BeS=new TH2F("h2_Ygb_BeS","Ygb_BeS",200,-0.6,1.4,70,0.,0.7); h2_Ygb_BePT=new TH2F("h2_Ygb_BePT","Ygb_BePT",200,-0.6,1.4,70,0.,0.7); h2_YZ_ETlt200=new TH2F("h2_YZ_ETlt200","YZ_ETlt200", 140,-0.,1.4,10,-0.5,9.5); h2_Ygb_ETlt200=new TH2F("h2_Ygb_ETlt200","Ygb_ETlt200", 140, 0.,1.4,70, 0., 0.7); h2_YptH_ETlt200=new TH2F("h2_YptH_ETlt200","YptH_ETlt200", 140, 0.,1.4,70, 0., 0.7); h2_YZ_ETgt600=new TH2F("h2_YZ_ETgt600","YZ_ETgt600", 140,-0.,1.4,10,-0.5,9.5); h2_Ygb_ETgt600=new TH2F("h2_Ygb_ETgt600","Ygb_ETgt600", 140, 0.,1.4,70, 0., 0.7); h2_YptH_ETgt600=new TH2F("h2_YptH_ETgt600","YptH_ETgt600", 140, 0.,1.4,70, 0., 0.7); h2_YZ_ETbt200400=new TH2F("h2_YZ_ETbt200400","YZ_ETbt200400", 140,-0.,1.4,10,-0.5,9.5); h2_Ygb_ETbt200400=new TH2F("h2_Ygb_ETbt200400","Ygb_ETbt200400", 140, 0.,1.4,70, 0., 0.7); h2_YptH_ETbt200400=new TH2F("h2_YptH_ETbt200400","YptH_ETbt200400", 140, 0.,1.4,70, 0., 0.7); h2_YZ_ETbt400600=new TH2F("h2_YZ_ETbt400600","YZ_ETbt400600", 140,-0.,1.4,10,-0.5,9.5); h2_Ygb_ETbt400600=new TH2F("h2_Ygb_ETbt400600","Ygb_ETbt400600", 140, 0.,1.4,70, 0., 0.7); h2_YptH_ETbt400600=new TH2F("h2_YptH_ETbt400600","YptH_ETbt400600", 140, 0.,1.4,70, 0., 0.7); h1_rp =new TH1F("h1_rp","rp",45,-180.,180.); h1_rpETgt600 =new TH1F("h1_rpETgt600","rpETgt600",45,-180.,180.); h1_rpETbt200400 =new TH1F("h1_rpETbt200400","rpETbt200400",45,-180.,180.); h1_rpETbt400600 =new TH1F("h1_rpETbt400600","rpETbt400600",45,-180.,180.); h1_rpETlt200 =new TH1F("h1_rpETlt200","rpETlt200",45,-180.,180.); h1_rpres180=new TH1F("h1_rpres180","rpres180",36,0.,180.); h1_rpres180ETgt600 =new TH1F("h1_rpres180ETgt600","rpres180ETgt600",36,0.,180.); h1_rpres180ETbt200400 =new TH1F("h1_rpres180ETbt200400","rpres180ETbt200400",36,0.,180.); h1_rpres180ETbt400600 =new TH1F("h1_rpres180ETbt400600","rpres180ETbt400600",36,0.,180.); h1_rpres180ETlt200 =new TH1F("h1_rpres180ETlt200","rpres180ETlt200",36,0.,180.); h1_rpres90=new TH1F("h1_rpres90","rpres90",18,90.,180.); h1_PHIMBR5=new TH1F("h1_PHIMBR5","PHIMBR5",60,0.,360.); h1_PHIMBR6=new TH1F("h1_PHIMBR6","PHIMBR6",60,0.,360.); h1_PHIMBR7=new TH1F("h1_PHIMBR7","PHIMBR7",60,0.,360.); h1_PHIMBR8=new TH1F("h1_PHIMBR8","PHIMBR8",60,0.,360.); h1_NDETMBR5=new TH1F("h1_NDETMBR5","NDETMBR5",80,-0.5,79.5); h1_NDETMBR6=new TH1F("h1_NDETMBR6","NDETMBR6",80,-0.5,79.5); h1_NDETMBR7=new TH1F("h1_NDETMBR7","NDETMBR7",80,-0.5,79.5); h1_NDETMBR8=new TH1F("h1_NDETMBR8","NDETMBR8",80,-0.5,79.5); h1_NDETMBR=new TH1F("h1_NDETMBR","NDETMBR",80,-0.5,79.5); rr= new TRandom2(); er= new TRandom2(); qq= new TRandom2(); for (int nn=0;nn<5;nn++){ Ntot[nn]=0.; Nback[nn]=0.; } fLogger->Info(MESSAGE_ORIGIN," AnaCHI::Init()------------------End "); cout << " ...return to continue..."<< endl; getchar(); } // ------------------------------------------------------------------------- void AnaCHI::SetParTask() { } // ------------------------------------------------------------------------- void AnaCHI::Finish() { h1_ZTot->Write(); h2_Etrans12_ZR7->Write(); hp_Etrans12_ZR7->Write(); h2_Etrans12_Mult->Write(); hp_Etrans12_Mult->Write(); h2_MultCHI_MultMB->Write();h2_PhiCHI_PhiMB->Write();h1_DPhiCHIMB->Write();h1_ThetaMB->Write(); h1_ThetaMBMean->Write();h1_MBMultRatio->Write(); h1_Y->Write(); h2_YptH->Write(); h2_Ygb->Write(); h2_Ygbcut->Write(); h2_YZ->Write();h1_EMB->Draw(); h2_YZ_ETlt200->Write(); h2_Ygb_ETlt200->Write(); h2_YptH_ETlt200->Write(); h2_YZ_ETgt600->Write(); h2_Ygb_ETgt600->Write(); h2_YptH_ETgt600->Write(); h2_YZ_ETbt200400->Write(); h2_Ygb_ETbt200400->Write(); h2_YptH_ETbt200400->Write(); h2_YZ_ETbt400600->Write(); h2_Ygb_ETbt400600->Write(); h2_YptH_ETbt400600->Write(); h1_rp->Write(); h1_rpETgt600->Write(); h1_rpETbt200400->Write(); h1_rpETbt400600->Write(); h1_rpETlt200->Write(); h1_rpres180->Write(); h1_rpres180ETgt600->Write(); h1_rpres180ETbt200400->Write(); h1_rpres180ETbt400600->Write(); h1_rpres180ETlt200->Write(); h1_rpres90->Write(); h1_Etrans12->Write(); h2_Ygb_1HS->Write(); h2_Ygb_2HS->Write(); h2_Ygb_3HS->Write(); h2_Ygb_1HPT->Write(); h2_Ygb_4HeS->Write(); h2_Ygb_3HeS->Write(); h2_Ygb_4HePT->Write(); h2_Ygb_LiS->Write(); h2_Ygb_LiPT->Write(); h2_Ygb_BeS->Write(); h2_Ygb_BePT->Write(); h1_PHIMBR5->Write(); h1_PHIMBR6->Write(); h1_PHIMBR7->Write(); h1_PHIMBR8->Write(); h1_NDETMBR5->Write(); h1_NDETMBR6->Write(); h1_NDETMBR7->Write(); h1_NDETMBR8->Write(); h1_NDETMBR->Write(); /* for (int nn=0;nn<5;nn++){ cout << "Nback= "<TSM*65535+fCHITS->TSS; MBS_TimeStamp= fMBSTS->TSM*65535+fMBSTS->TSS; int Ztot,Atot,mult,Zbound,multH,multHe,multIMF; int Zforw,Zback,Zforw1,Zback1,Zfb,Zfb1; double Etrans12,Etrans,theta; int Z,A,code,numtel,stopped; double phi,phirp,phirp1,phirp2,dphi; double thetaring[9]={7.75,9.25,10.75,12.25,13.75,15.25,17.,19.,21.00}; double thetamin[9]= {7.00,8.50,10.00,11.50,13.00,14.50,16.,18.,20.00}; int telmin[9]= {144,184,224,264,304,352,400,448,496}; // 16/03/2012-> int multR[8],ZR[8]; int multR4,multR5,multR6,multR7; int ZR4,ZR5,ZR6,ZR7; int iring; //<-16/032012 int i,j,jj,jrp; double energy,esua,gamma,beta,betaz,betat,yrap; double betazrandom,betatrandom,yraprandom,thetarandom; double brg,brgH,Zd; double QCHIx,QCHIy; double QMBx,QMBy; double Q1x,Q1y; double Q2x,Q2y; double Qx,Qy; int ww;double ycutforw,ycutback; double r; double PhiCHI=-1000.; double PhiMB=-1000.; double DPhiCHIMB; // double ThetaMB=-1000.; double ThetaMBMean=-1.; double ThetaMBSum=0.; int multforw; int multMB=0; double thetaMB,thetaMBrandom; double erMB;double q; Ztot=0;Atot=0;mult=0;Zbound=0;multH=0;multHe=0; multIMF=0; multforw=0; Zforw=0;Zback=0;Zforw1=0;Zback1=0;Etrans12=0;Etrans=0;Zfb=-5;Zfb1=-5; for(iring=0;iring<8;iring++){ multR[iring]=0;ZR[iring]=0; } QCHIx=0;QCHIy=0; QMBx=0;QMBy=0; Qx=0;Qy=0;Q1x=0;Q1y=0;Q2x=0;Q2y=0; jrp=0; phirp=-1000.;phirp1=-1000.;phirp2=-1000.; if(CHIMERA_TimeStamp >MBS_TimeStamp){ diff=CHIMERA_TimeStamp-MBS_TimeStamp; }else{ diff=MBS_TimeStamp-CHIMERA_TimeStamp; } diff = CHIMERA_TimeStamp-MBS_TimeStamp; if(diff<100 ){ if(fCHIEvent->tavecsi>1900){ for(j=0;j Idmulti;j++){ Z=fCHIEvent->IdZ[j]; A=fCHIEvent->IdA[j]; code=fCHIEvent->Idcode[j]; energy=fCHIEvent->IdE[j]; stopped=fCHIEvent->Idstopped[j]; numtel=fCHIEvent->Idnumtel[j]; if(A)esua=energy/A; if(!A)esua=-1; if(Z>0.5 && esua>25 && esua<600 && code<=7){ Ztot=Ztot+Z; Atot=Atot+A; mult++; if(Z==1)multH++; if(Z==2)multHe++; if(Z>2.5)multIMF++; if(Z>1.5)Zbound=Zbound+Z; gamma=energy/(A*UMA)+1; beta=sqrt((gamma*gamma-1)/(gamma*gamma)); for(iring=0;iring<=7;iring++){ if((numtel >= telmin[iring]) && (numtel < telmin[iring+1])){ multR[iring]=multR[iring]+1; ZR[iring]=ZR[iring]+Z; phi=(numtel-telmin[iring])*6.283185307/(telmin[iring+1]-telmin[iring]); betaz=beta*cos(thetaring[iring]*3.14159/180); betat=beta*sin(thetaring[iring]*3.14159/180); theta=thetaring[iring]*3.14159/180; r = rr->Uniform(); thetarandom=thetamin[iring]+r*(thetamin[iring+1]-thetamin[iring]); betazrandom=beta*cos(thetarandom*3.14159/180); betatrandom=beta*sin(thetarandom*3.14159/180); } } yrap=0.5*log((1+betaz)/(1-betaz)); yraprandom=0.5*log((1+betazrandom)/(1-betazrandom)); Zd=Z*1.; brg=betatrandom*gamma; brgH=brg*UMAGeV; h1_Y->Fill(yraprandom); h2_YZ->Fill(yraprandom,Zd); h2_Ygb->Fill(yraprandom,brg); if(Z==1)h2_YptH->Fill(yraprandom,brgH); if(yrap>0.448) Zforw =Zforw +Z; if(yrap>0.548) Zforw1=Zforw1+Z; if(yrap<0.448) Zback =Zback +Z; if(yrap<0.348) Zback1=Zback1+Z; if(Z<=2)Etrans12=Etrans12+energy*sin(theta)*sin(theta); Etrans=Etrans+energy*sin(theta)*sin(theta); ww=0; if(yrap>(0.448) && yrap<1.048)ww= 1;//originale QCHIx=QCHIx+ww*Z*cos(phi); QCHIy=QCHIy+ww*Z*sin(phi); multforw=multforw+1; } } int gr1=0; int gr2=0; for(j=0;j Idmulti;j++){ Z=fCHIEvent->IdZ[j]; A=fCHIEvent->IdA[j]; code=fCHIEvent->Idcode[j]; energy=fCHIEvent->IdE[j]; stopped=fCHIEvent->Idstopped[j]; numtel=fCHIEvent->Idnumtel[j]; if(A)esua=energy/A; if(!A)esua=-1; if(Z>0.5 && esua>25 && esua<600 && code<=7){ gamma=energy/(A*UMA)+1; beta=sqrt((gamma*gamma-1)/(gamma*gamma)); for(iring=0;iring<=7;iring++){ if((numtel >= telmin[iring]) && (numtel < telmin[iring+1])){ phi=(numtel-telmin[iring])*6.283185307/(telmin[iring+1]-telmin[iring]); betaz=beta*cos(thetaring[iring]*3.14159/180); betat=beta*sin(thetaring[iring]*3.14159/180); theta=thetaring[iring]*3.14159/180; r = rr->Uniform(); thetarandom=thetamin[iring]+r*(thetamin[iring+1]-thetamin[iring]); betazrandom=beta*cos(thetarandom*3.14159/180); betatrandom=beta*sin(thetarandom*3.14159/180); } } yrap=0.5*log((1+betaz)/(1-betaz)); yraprandom=0.5*log((1+betazrandom)/(1-betazrandom)); Zd=Z*1.; brg=betatrandom*gamma; brgH=brg*UMAGeV; if(Z==1 && A==1 && stopped==1)h2_Ygb_1HS->Fill(yraprandom,betatrandom*gamma); if(Z==1 && A==2 && stopped==1)h2_Ygb_2HS->Fill(yraprandom,betatrandom*gamma); if(Z==1 && A==3 && stopped==1)h2_Ygb_3HS->Fill(yraprandom,betatrandom*gamma); if(Z==1 && stopped==0)h2_Ygb_1HPT->Fill(yraprandom,betatrandom*gamma); if(Z==2 && A==4 && stopped==1)h2_Ygb_4HeS->Fill(yraprandom,betatrandom*gamma); if(Z==2 && A==3 && stopped==1)h2_Ygb_3HeS->Fill(yraprandom,betatrandom*gamma); if(Z==2 && stopped==0)h2_Ygb_4HePT->Fill(yraprandom,betatrandom*gamma); if(Z==3 && stopped==1)h2_Ygb_LiS->Fill(yraprandom,betatrandom*gamma); if(Z==3 && stopped==0)h2_Ygb_LiPT->Fill(yraprandom,betatrandom*gamma); if(Z==4 && stopped==1)h2_Ygb_BeS->Fill(yraprandom,betatrandom*gamma); if(Z==4 && stopped==0)h2_Ygb_BePT->Fill(yraprandom,betatrandom*gamma); if(Etrans12>600){ h2_YZ_ETgt600->Fill(yraprandom,Zd); h2_Ygb_ETgt600->Fill(yraprandom,betatrandom*gamma); if(Z==1)h2_YptH_ETgt600->Fill(yraprandom,betatrandom*gamma*UMA/1000); ycutforw=0.1;//ok ycutback=0.2;//ok } if(Etrans12>400 && Etrans12<600){ h2_YZ_ETbt400600->Fill(yraprandom,Zd); h2_Ygb_ETbt400600->Fill(yraprandom,betatrandom*gamma); if(Z==1)h2_YptH_ETbt400600->Fill(yraprandom,betatrandom*gamma*UMA/1000); ycutforw=0.1;//ok ycutback=0.2;//ok } if(Etrans12>200 && Etrans12<400){ h2_YZ_ETbt200400->Fill(yraprandom,Zd); h2_Ygb_ETbt200400->Fill(yraprandom,betatrandom*gamma); if(Z==1)h2_YptH_ETbt200400->Fill(yraprandom,betatrandom*gamma*UMA/1000); ycutforw=0.;//ok ycutback=0.2;//ok } if(Etrans12<200 && Etrans12>0){ h2_YZ_ETlt200->Fill(yraprandom,Zd); h2_Ygb_ETlt200->Fill(yraprandom,betatrandom*gamma); if(Z==1)h2_YptH_ETlt200->Fill(yraprandom,betatrandom*gamma*UMA/1000); ycutforw=0.;//ok ycutback=0.2;//ok } ww=0; if(yrap>(ycm+ycutforw) && yrap<1.048)ww= 1;//originale if(yrap<(ycm-ycutback) && yrap>0.248){ ww=-1;//commentata originalmente } if(ww!=0){ // printf("%d %lf %d\n",Z,yrap,ww); Qx=Qx+ww*Z*cos(phi); Qy=Qy+ww*Z*sin(phi); q = qq->Uniform(); if((gr1-gr2)>0.5)q=0.25; if((gr2-gr1)>0.5)q=0.75; if(q>0.5){ Q1x=Q1x+ww*Z*cos(phi); Q1y=Q1y+ww*Z*sin(phi); gr1++; }else{ Q2x=Q2x+ww*Z*cos(phi); Q2y=Q2y+ww*Z*sin(phi); gr2++; } jrp++; } } } if(jrp>=4){ phirp=atan2(Qy,Qx)*180./3.14159; phirp1=atan2(Q1y,Q1x)*180./3.14159; phirp2=atan2(Q2y,Q2x)*180./3.14159; h1_rp->Fill(phirp); if(Etrans12<200 && Etrans12>0) h1_rpETlt200->Fill(phirp); if(Etrans12>200 && Etrans12<400)h1_rpETbt200400->Fill(phirp); if(Etrans12>400 && Etrans12<600)h1_rpETbt400600->Fill(phirp); if(Etrans12>600) h1_rpETgt600->Fill(phirp); dphi=phirp1-phirp2; if(dphi>180)dphi=360-dphi; if(dphi<-180)dphi=360+dphi; if (dphi<0)dphi=-dphi; if(Q1x==0 && Q1y==0)dphi=-1000.; if(Q2x==0 && Q2y==0)dphi=-1000.; if (dphi<180){ h1_rpres180->Fill(dphi); Ntot[0]++; if(Etrans12<200 && Etrans12>0){ h1_rpres180ETlt200->Fill(dphi); Ntot[1]++; } if(Etrans12>200 && Etrans12<400){ h1_rpres180ETbt200400->Fill(dphi); Ntot[2]++; } if(Etrans12>400 && Etrans12<600){ h1_rpres180ETbt400600->Fill(dphi); Ntot[3]++; } if(Etrans12>600){ h1_rpres180ETgt600->Fill(dphi); Ntot[4]++; } if (dphi>90){ h1_rpres90->Fill(dphi); Nback[0]++; if(Etrans12<200 && Etrans12>0)Nback[1]++; if(Etrans12>200 && Etrans12<400)Nback[2]++; if(Etrans12>400 && Etrans12<600)Nback[3]++; if(Etrans12>600)Nback[4]++; } } } } /////////////////////////////////////////////////////////////////// multMB=fMBallEvent->uBallmulti; for(jj=0;jjuBallPhi[jj]*3.14159/180.); QMBy=QMBy+sin(fMBallEvent->uBallPhi[jj]*3.14159/180.); ThetaMBSum=ThetaMBSum+fMBallEvent->uBallTheta[jj]; thetaMB=fMBallEvent->uBallTheta[jj]; r = rr->Uniform(); if(fMBallEvent->uBallRingNum[jj]==5){ thetaMBrandom=60+r*20.; // cout << fMBallEvent->uBallDetNum[jj]<< endl; h1_PHIMBR5->Fill(fMBallEvent->uBallPhi[jj]); h1_NDETMBR5->Fill(fMBallEvent->uBallDetNum[jj]); h1_NDETMBR->Fill(fMBallEvent->uBallDetNum[jj]); } if(fMBallEvent->uBallRingNum[jj]==6){ thetaMBrandom=80+r*20.; h1_PHIMBR6->Fill(fMBallEvent->uBallPhi[jj]); h1_NDETMBR6->Fill(fMBallEvent->uBallDetNum[jj]); h1_NDETMBR->Fill(fMBallEvent->uBallDetNum[jj]+14); } if(fMBallEvent->uBallRingNum[jj]==7){ thetaMBrandom=100+r*23.; h1_PHIMBR7->Fill(fMBallEvent->uBallPhi[jj]); h1_NDETMBR7->Fill(fMBallEvent->uBallDetNum[jj]); h1_NDETMBR->Fill(fMBallEvent->uBallDetNum[jj]+28); } if(fMBallEvent->uBallRingNum[jj]==8){ thetaMBrandom=123+r*24; h1_PHIMBR8->Fill(fMBallEvent->uBallPhi[jj]); h1_NDETMBR8->Fill(fMBallEvent->uBallDetNum[jj]); h1_NDETMBR->Fill(fMBallEvent->uBallDetNum[jj]+38); } h1_ThetaMB->Fill(thetaMBrandom); // cout << thetaMB << " " << fMBallEvent->uBallRingNum[jj]<< " "<Uniform())*75.; h1_EMB->Fill(erMB); // cout << erMB << endl; gamma=erMB/(UMA)+1; beta=sqrt((gamma*gamma-1)/(gamma*gamma)); betazrandom=beta*cos(thetaMBrandom*3.14159/180); betatrandom=beta*sin(thetaMBrandom*3.14159/180); yraprandom=0.5*log((1+betazrandom)/(1-betazrandom)); Zd=1.; brg=betatrandom*gamma; brgH=brg*UMAGeV; h1_Y->Fill(yraprandom); h2_YZ->Fill(yraprandom,Zd); h2_Ygb->Fill(yraprandom,brg); h2_YptH->Fill(yraprandom,brgH); } /////////////////////////////////////////////////// if(multMB>1){ ThetaMBMean=ThetaMBSum/fMBallEvent->uBallmulti; if(fMBallEvent->uBallmultiR[0] && fMBallEvent->uBallmultiR[3]){ h1_MBMultRatio->Fill(fMBallEvent->uBallmultiR[0]/fMBallEvent->uBallmultiR[3]); }else if(fMBallEvent->uBallmultiR[0]!=0 && fMBallEvent->uBallmultiR[3]==0){ h1_MBMultRatio->Fill(20); }else if(fMBallEvent->uBallmultiR[0]==0 && fMBallEvent->uBallmultiR[3]!=0){ h1_MBMultRatio->Fill(-4); } h1_ThetaMBMean->Fill(ThetaMBMean); } if(multMB>1 && QMBx) PhiMB=(atan2(QMBy,QMBx)*180/3.14159); ZR7=ZR[6]+ZR[7]; if(mult){ h1_ZTot->Fill(Ztot); h1_Etrans12->Fill(Etrans12); h2_Etrans12_ZR7->Fill(Etrans12,ZR7); hp_Etrans12_ZR7->Fill(Etrans12,ZR7); h2_Etrans12_Mult->Fill(Etrans12,mult); hp_Etrans12_Mult->Fill(Etrans12,mult); h2_MultCHI_MultMB->Fill(mult,multMB); if(QCHIx) PhiCHI=atan2(QCHIy,QCHIx)*180/3.14159; DPhiCHIMB=PhiCHI-PhiMB; if(DPhiCHIMB>180)DPhiCHIMB=DPhiCHIMB-360; if(DPhiCHIMB<-180)DPhiCHIMB=DPhiCHIMB+360; // if(PhiMB>180)PhiMB=PhiMB-360.; if(multforw>6 && multMB>2){ h2_PhiCHI_PhiMB->Fill(PhiCHI,PhiMB); h1_DPhiCHIMB->Fill(DPhiCHIMB); } } fGlobalVar->CHImulti=mult; fGlobalVar->MBallmulti=multMB; fGlobalVar->CHIET12=Etrans12; fGlobalVar->CHIRP=phirp; fGlobalVar->MBallRP=PhiMB ; }else{ cout << "[AnaCHI:]"; cout <<"something wrong in timestamps"<