//macro to read mini root data //witout analysis classes { // Clear ROOT environment gROOT.Reset(); // Switch on ROOT timer gROOT.Time(); gROOT->SetStyle("Plain"); Int_t MaxEvents = 100; // Create a T49Run object T49Run *run = new T49Run(); run->SetVerbose(kFALSE); Char_t *RunType="20G+-20GeV-central-03A"; Int_t StartAtRun = 4883; //4881 Int_t EndAtRun = 4899; Int_t eventCount = 0; // Define a pointer to an T49EventRoot object T49EventRoot *event; // Define a pointer to an T49ParticleRoot object T49ParticleRoot *track; ofstream *out = new ofstream; out->open("20_mini_output.txt"); // Loop over events in the data file while ((event = (T49EventRoot *) run->GetNextEvent(RunType,StartAtRun,EndAtRun)) && (eventCount < MaxEvents)) { // find primary vertex T49Vertex *vertex = event->GetPrimaryVertex(); // T49Vertex *bpd = event->GetBPDVertex(); double ntf=vertex->GetNTrkFit(); double nto=vertex->GetNTrkOut(); double ratio; if(nto==0) ratio=0; else ratio=ntf/nto; //vertex cuts: if((vertex->GetPchi2()>0) &&(vertex->GetIflag()==0) &&(event->GetVertexX()>-0.25) &&(event->GetVertexX()<0.2) &&(event->GetVertexY()>-0.2) &&(event->GetVertexY()<0.2) &&(event->GetVertexZ()>-581.3) &&(event->GetVertexZ()<-580.8) // &&(event->GetEveto()<...) &&(nto!=0) &&(ratio>0.25)) { //information to file run number and event number *out<GetNRun()<<'\t'<GetNEvent()<GetNRun()<<'\t'<GetNEvent()<GetPrimaryParticles(); // Determine the number of primary particles Int_t max = List->GetEntries(); // Loop over all particles for(Int_t i=0;iAt(i); double np=track->GetNPoint(); double nmp=track->GetNMaxPoint(); double angle=(atan2(track->GetPy(), track->GetPx()))*(180.0/3.14); double rapidity=track->GetRap(0.1396); double ycms=rapidity-1.88; //track cuts: if(((track->GetIflag()&0xFF000000) == 0) &&(track->GetNMaxPoint()>30) &&(np/nmp>0.5) &&(track->GetZFirst()<200.0) &&(fabs(track->GetBx())<2.0) &&(fabs(track->GetBy())<1.0) &&(track->GetPt()>0.005) &&(track->GetPt()<1.5) &&(ycms>1.1) //forward rapidity &&(ycms<2.6)) { *out<GetCharge()<<'\t'<GetPx()<<'\t'<GetPy()<<'\t'<GetPz()<GetCharge()<<'\t'<GetPx()<<'\t'<GetPy()<<'\t'<GetPz()<close(); } //end of main macro