| 1 | //
|
|---|
| 2 | // A. Moralejo, March 2003
|
|---|
| 3 | // This macro merges several MC camera files into one. The output files
|
|---|
| 4 | // are useful to run Mars over larger samples of triggered events than
|
|---|
| 5 | // those contained in a single file.
|
|---|
| 6 | //
|
|---|
| 7 |
|
|---|
| 8 | void mergecamera(Char_t *in="Proton*root", Char_t *out="all.root")
|
|---|
| 9 | {
|
|---|
| 10 | //
|
|---|
| 11 | // Open output file:
|
|---|
| 12 | //
|
|---|
| 13 | TFile* f = new TFile(out,"recreate");
|
|---|
| 14 |
|
|---|
| 15 | //
|
|---|
| 16 | // First the Events tree:
|
|---|
| 17 | //
|
|---|
| 18 | MMcEvt* mmcevt = new MMcEvt();;
|
|---|
| 19 | MMcTrig* mmctrig = new MMcTrig();
|
|---|
| 20 | MRawEvtHeader* mrawhead = new MRawEvtHeader();
|
|---|
| 21 | MRawEvtData* mrawdata = new MRawEvtData();
|
|---|
| 22 |
|
|---|
| 23 | TChain c("Events");
|
|---|
| 24 | c.SetBranchAddress("MMcEvt",&mmcevt);
|
|---|
| 25 | c.SetBranchAddress("MMcTrig",&mmctrig);
|
|---|
| 26 | c.SetBranchAddress("MRawEvtHeader",&mrawhead);
|
|---|
| 27 | c.SetBranchAddress("MRawEvtData",&mrawdata);
|
|---|
| 28 | c.Add(in);
|
|---|
| 29 | c.Merge(f,1000);
|
|---|
| 30 |
|
|---|
| 31 | //
|
|---|
| 32 | // Now the RunHeaders tree:
|
|---|
| 33 | //
|
|---|
| 34 | MMcConfigRunHeader* mcconfig = new MMcConfigRunHeader();
|
|---|
| 35 | MMcCorsikaRunHeader* mccorsi = new MMcCorsikaRunHeader();
|
|---|
| 36 | MMcFadcHeader* mcfadc = new MMcFadcHeader();
|
|---|
| 37 | MMcRunHeader* mcrunhead = new MMcRunHeader();
|
|---|
| 38 | MMcTrigHeader* mctrighead = new MMcTrigHeader();
|
|---|
| 39 | MRawRunHeader* mrawrunhead = new MRawRunHeader();
|
|---|
| 40 | TChain d("RunHeaders");
|
|---|
| 41 | d.SetBranchAddress("MMcConfigRunHeader",&mcconfig);
|
|---|
| 42 | d.SetBranchAddress("MMcCorsikaRunHeader",&mccorsi);
|
|---|
| 43 | d.SetBranchAddress("MMcFadcHeader",&mcfadc);
|
|---|
| 44 | d.SetBranchAddress("MMcRunHeader",&mcrunhead);
|
|---|
| 45 | d.SetBranchAddress("MMcTrigHeader",&mctrighead);
|
|---|
| 46 | d.SetBranchAddress("MRawRunHeader",&mrawrunhead);
|
|---|
| 47 | d.Add(in);
|
|---|
| 48 | d.Merge(f,1000);
|
|---|
| 49 |
|
|---|
| 50 | f->Close();
|
|---|
| 51 |
|
|---|
| 52 | return;
|
|---|
| 53 | }
|
|---|