00001 void MakePicoEvent(const char* inFilePath="links/P02gc.central.FullField.2001.mdst/", const char* inFileName="st_physics_2323002_raw_0127.himicro.root")
00002 {
00003
00004
00005 gROOT->Reset();
00006 gSystem->Load("StHiMicroEvent");
00007
00008
00009 char pathAndFile[150];
00010 strcat(pathAndFile,inFilePath);
00011 strcat(pathAndFile,inFileName);
00012 cout << "PathAndFile = " << pathAndFile << endl;
00013
00014 TFile *oldfile = new TFile(pathAndFile);
00015
00016 TString outFileName(inFileName);
00017 TString replace = ".himicro.root";
00018 outFileName.ReplaceAll(replace.Data(),".hipico.root");
00019 cout << "OutfileName = " << outFileName.Data() << endl;
00020
00021
00022 TTree *oldtree = (TTree*)oldfile->Get("StHiMicroTree");
00023 mHiMicroEvent = new StHiMicroEvent;
00024 oldtree->SetBranchAddress("StHiMicroEvent",&mHiMicroEvent);
00025
00026
00027
00028 oldtree->SetBranchStatus("mHits",0);
00029 oldtree->SetBranchStatus("mNHit",0);
00030
00031
00032 TFile *newfile = new TFile(outFileName.Data(),"recreate");
00033 TTree *newtree = oldtree->CloneTree();
00034
00035
00036 newfile->Write();
00037 delete oldfile;
00038 delete newfile;
00039 }