#include #include void UnpackIdE2(){ gSystem->Load("libMbs"); gSystem->Load("libMbsAPI"); gSystem->Load("libTCHIEvent"); gSystem->Load("libTRootEvent"); gSystem->Load("libTCHIGridCsI"); gSystem->Load("libTLANDEvent"); // gSystem->Load("libTCHICsIGSIEnergy"); TRootDefine chitree; TRootCHIEvent *chievt = 0; TRootLANDEvent *landevt = 0; chitree.Open("Id_run1670_testmerging.root"); chitree.GetTree()->SetTitle("AsyEos beam"); chievt = chitree.GetCHIEvt(); landevt = chitree.GetLANDEvt(); int MBSTSh,MBSTSm,MBSTSs; int CHITSh,CHITSm,CHITSs; unsigned long int CHIMERA_TimeStamp, MBS_TimeStamp; int Trig_Patt; int bit_Trig_Patt[16]; vector pchim; Int_t time, de, fastpg, fastgg, slowpg, slowgg, timecsi; Float_t x,y; int idcode; int landrawmulti; TCHIEvent* chimera_evt = 0; chimera_evt = new TCHIEvent("../CALFILES/gsieos.par",2); chimera_evt->ProcessParFile(); chimera_evt->Get_Pedestal_Data("../CALFILES/asyeos.ped"); chimera_evt->Get_Offset_Data("../CALFILES/r1428_v16112011.offset"); getchar(); TLANDEvent* land_evt = 0; land_evt = new TLANDEvent(); land_evt->DoLANDMapping();//apply mapping! //identfication 02/09/2011 TCHIResult idr; //define results object TCHICsIGSIEnergy calib("../CALFILES/ecalib141111.txt"); //define calibration object calib.Init(); //init calibration TCHIGridCsI csigrid("../CALFILES/grid_14112011.dat"); csigrid.ReadAsciiFile(); csigrid.Initialize(); getchar(); //identfication 02/09/2011 int Nruns; TString InFile ; ifstream inputfile; inputfile.open("runlist.dat"); inputfile >> Nruns; MbsFile* myMbs=0; Int_t *status=new Int_t; Int_t* sebuflenght=new Int_t; Short_t* setype=new Short_t; Short_t* sesubtype=new Short_t; Char_t* sesubcrate=new Char_t; Int_t* SubEventDataPtr=new Int_t; for(int irun=0;irun>InFile; myMbs= new MbsFile(InFile,status); cout << "$$$$$$$$$$$$$$$$$$$$$$$$$$$$" << endl; cout <PrintFileHeader(); Int_t lastevent=0; Int_t i=0; Int_t nchievt=0; Int_t nmbsevt=0; while(!lastevent){ // cout << "############################# i="<< i << endl; // getchar(); if(i%5000==0)cout << "############################# i="<< i << endl; lastevent=myMbs->GetEvent(); Int_t nrSubEvts=myMbs->GetNrSubEvent(); for(Int_t j=1;j<=nrSubEvts;j++){ SubEventDataPtr=myMbs->GetSubEvent(j,sebuflenght,setype,sesubtype,sesubcrate); //////////////////////////////////////////////////////////////////////////////// if((*setype==10) && (*sesubtype==1) && (*SubEventDataPtr==512)) { MBSTSs=*(SubEventDataPtr+1) & 0x0000ffff; MBSTSm=*(SubEventDataPtr+2) & 0x0000ffff; MBSTSh=*(SubEventDataPtr+3) & 0x0000ffff; nmbsevt++; MBS_TimeStamp=MBSTSm*65535+MBSTSs; // cout << "MBS"<ProcessCurrentEventMBS(SubEventDataPtr,*sebuflenght); // cout <<"LAND raw multi="<GetLANDMultiplicity()<GetLANDMultiplicity(); // cout << landrawmulti << endl; // land_evt->GetLANDHitMaps(); // getchar(); } //////////////////////////////////////////////////////////////////////////////// if((*setype==10) && (*sesubtype==1) && (*SubEventDataPtr==256)){ Int_t ftotfired=chimera_evt->ProcessCurrentEventMBS(SubEventDataPtr); chimera_evt->GetTiMeStamp(&CHITSs,&CHITSm,&CHITSh); CHIMERA_TimeStamp=CHITSm*65535+CHITSs; nchievt++; multTOF = chimera_evt->GetTofMultiplicity(); // cout << "CHIMERA"<landmulti=-1; cout << " no " << endl; getchar(); } chitree.GetTree()->Fill(); chimera_evt->Clear_fired_param(0); } } if(i==1){ cout << "###################################### i= " << i << endl; cout << "CHIMERA"<GetEvent(); } getchar(); } i++; } myMbs->CloseFile(); } } chitree.Close(); inputfile.close(); //enrico fino a qui cout << "eccomi qua"<