00001 {
00002 gROOT->ProcessLine("#include <map>");
00003 gROOT->ProcessLine("#include <pair>");
00004 gROOT->ProcessLine("#include <vector>");
00005 gROOT->ProcessLine(".L ~/work/AlcapDAQ/analyzer/rootana/libAnalysis.so");
00006
00007 TFile *file =
00008 TFile::Open("~/work/RunPSI2013/data/root/analysedtree/anatree03474.root");
00009
00010 TTree *tree = (TTree*)file->Get("AnalysedPulseTree");
00011 tree->Print();
00012
00013 TAnalysedPulseMapWrapper *mapWrapper;
00014 typedef map<string, vector<TAnalysedPulse*> > chn2AnalysedPulseMap;
00015 chn2AnalysedPulseMap currentMap;
00016
00017 tree->SetMakeClass(1);
00018 tree->SetBranchAddress("fChn2PulseMap", ¤tMap);
00019
00020
00021 int nentries = tree->GetEntriesFast();
00022
00023 for (int i = 0; i < 1; ++i)
00024 {
00025 std::cout<<"Event "<<i<<", ";
00026 std::cout<<"byte read: "<<tree->GetEntry(i);
00027 std::cout<<", size: "<<currentMap.size()<<std::endl;
00028
00029
00030 for (chn2AnalysedPulseMap::iterator mapIter = currentMap.begin();
00031 mapIter != currentMap.end(); ++mapIter)
00032 {
00033 string detname = mapIter->first;
00034 vector<TAnalysedPulse *> pulseVector = mapIter->second;
00035
00036 std::cout<<detname<<": "<< pulseVector.size()<<" pulses\n";
00037
00038 vector<TAnalysedPulse *>::iterator pulseIter;
00039 for (pulseIter = pulseVector.begin();
00040 pulseIter != pulseVector.end(); ++pulseIter)
00041 {
00042 printf("height: %.2f", (*pulseIter)->GetAmplitude());
00043 printf("time: %.2f\n", (*pulseIter)->GetTime());
00044 }
00045 }
00046 }
00047 }