void PlaHist(){ // set raw data file TArtEventStore *estore = new TArtEventStore; const char* filename = "ridf/sdaq02/dayone0080.ridf";//22C+C run if(!estore->Open(filename)){ std::cout << "cannot open " << filename << std::endl; return; } // calibration parameters TArtBigRIPSParameters *para = TArtBigRIPSParameters::Instance(); para->LoadParameter("db/BigRIPSPlastic.xml"); // TArtStoreManager is a class for accessing calibrated data TArtStoreManager *sman = TArtStoreManager::Instance(); // define histograms TH1 *hf7plat = new TH1D("hf7plat","F7Pla T",4000,0,4000); TH1 *hf7plaq = new TH1D("hf7plaq","F7Pla Q",500,0,500); TH2 *hf7pla = new TH2D("hf7pla","F7Pla T Q",200,0,4000, 200,0,500); // calibration class TArtCalibPlastic *calib_pla = new TArtCalibPlastic; int neve = 0; while(estore->GetNextEvent() && neve<10000){ if(neve%1000==0) cout << "event: " << neve << endl; calib_pla->ReconstructData(); TClonesArray * pla_array = (TClonesArray *)sman->FindDataContainer("BigRIPSPlastic"); if ( 0 != pla_array ){ TArtPlastic * pla = (TArtPlastic *)TArtUtil::FindDataObject(pla_array,(char*)"F7pl"); Double_t f7plat, f7plaq; if(pla){ if(pla->GetTLRaw() > 0 && pla->GetTRRaw() > 0){ f7plat = ((Double_t)pla->GetTLRaw() + (Double_t)pla->GetTRRaw())/2; hf7plat->Fill(f7plat); } if(pla->GetQLRaw() > 0 && pla->GetQRRaw() > 0){ f7plaq = pla->GetQAveRaw(); hf7plaq->Fill(f7plaq); } if (f7plat>0 && f7plaq>0) hf7pla->Fill(f7plat,f7plaq); } } //------------------------------------------------ calib_pla->ClearData(); estore->ClearData(); ++neve; //------------------------------------------------ } }