//STL and C includes #include #include #include //ROOT headers #include #include #include #include #include #include #include #include #include //TestChamber includes #include "TCcluster.h" #include "TCalign.h" #include "TCtrack.h" #include "TCevent.h" #include "ConfigFile.h" static bool controlC=false; static int controlCs=0; using std::cout; using std::endl; void signalHandler2(int signal) { if (signal==SIGINT) { cout<<"CTRL + C pressed saving and exiting, press again to abort"<abort" << std::endl; throw; } int main(int argc,char **argv){ using namespace std; signal(SIGINT, signalHandler2); if(!(argc==2)){ cerr<<"Wrong number of arguments, "<FindObject("at_tr"); TCevent *inEvent = new TCevent(); TBranch *branchEvent=inTree->GetBranch("event"); branchEvent->SetAddress(&inEvent); int nEvents=inTree->GetEntries(); int totClusters=0; TCalign* a = TCalign::getInstance(alignmentFilePath); a->clear(); a->read(alignmentFilePath); vector clusterErr; for(int i=0;i<8;++i){ char buf[10]; sprintf(buf,"%i",(i+1)); string name1="clusterErr"; name1+=buf; clusterErr.push_back(new TH1D(name1.c_str(),name1.c_str(),10000,0,0.1)); } for(int i_ev=0;i_evGetEntry(i_ev); for(unsigned int i_tr=0;i_trnTracks();++i_tr){ TCtrack* track=inEvent->getTrack(i_tr); for(unsigned int i_cl=0;i_clnCl();++i_cl){ TCcluster cl=track->getCl(i_cl); clusterErr.at(cl.getId()-1)->Fill(cl.getErr().x()); } if(track->getAy()*100+track->getBy()<1){ // std::cout<getEventNumber()<Write(); } histFile->Close(); delete histFile; }