Changeset 5989
- Timestamp:
- 01/25/05 12:03:14 (20 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r5986 r5989 20 20 21 21 -*-*- END OF LINE -*-*- 22 23 2005/01/25 Abelardo Moralejo 24 25 * macros/starmc2.C 26 - modified to allow double (train / test) output, for g/h 27 separation studies. Added several missing containers to output. 28 22 29 23 30 2005/01/25 Thomas Bretz -
trunk/MagicSoft/Mars/macros/starmc2.C
r5021 r5989 38 38 void starmc2() 39 39 { 40 Char_t* AnalysisFilename = "calibrated_data.root"; // File to be analyzed 41 Char_t* OutFilename = "star.root"; // Output file name 40 Char_t* AnalysisFilename = "calibrated_protons.root"; // File to be analyzed 42 41 43 Float_t CleanLev[2] = {4., 3.}; // Tail cuts for image analysis 42 TString* OutFilename1; 43 TString* OutFilename2; 44 45 // Change output file names as desired. If you want only one output, comment 46 // out the initialization of OutFilename2: 47 // OutFilename1 = new TString("star_train.root"); // Output file name 1 (test) 48 // OutFilename2 = new TString("star_test.root"); // Output file name 2 (train) 49 50 OutFilename1 = new TString("star.root"); // Output file name 1 (test) 51 52 53 Float_t CleanLev[2] = {3., 2.}; // Tail cuts for image analysis 44 54 45 55 // ------------------------------------------------------------------ … … 80 90 81 91 // 82 // Open output file :92 // Open output file(s): 83 93 // 84 MWriteRootFile write(OutFilename); // Writes output 85 write.AddContainer("MRawRunHeader", "RunHeaders"); 86 write.AddContainer("MMcRunHeader", "RunHeaders", kFALSE); 87 write.AddContainer("MSrcPosCam", "RunHeaders"); 88 write.AddContainer("MMcEvt", "Events", kFALSE); 89 write.AddContainer("MPointingPos", "Events", kFALSE); 90 write.AddContainer("MHillas", "Events"); 91 write.AddContainer("MHillasExt", "Events"); 92 write.AddContainer("MHillasSrc", "Events"); 93 write.AddContainer("MNewImagePar", "Events"); 94 MWriteRootFile write1(OutFilename1->Data()); // Writes output 95 // 96 // Add MC containers only if they exist. In this way you can also run on real calibrated data. 97 // 98 write1.AddContainer("MRawRunHeader", "RunHeaders"); 99 write1.AddContainer("MMcRunHeader", "RunHeaders", kFALSE); 100 write1.AddContainer("MSrcPosCam", "RunHeaders"); 101 write1.AddContainer("MGeomCam", "RunHeaders", kFALSE); 102 write1.AddContainer("MMcConfigRunHeader", "RunHeaders", kFALSE); 103 write1.AddContainer("MMcCorsikaRunHeader", "RunHeaders", kFALSE); 104 write1.AddContainer("MMcFadcHeader", "RunHeaders", kFALSE); 105 write1.AddContainer("MMcTrigHeader", "RunHeaders", kFALSE); 94 106 95 tlist.AddToList(&write); // Add task to write output. 107 write1.AddContainer("MMcEvt", "Events", kFALSE); 108 write1.AddContainer("MPointingPos", "Events", kFALSE); 109 write1.AddContainer("MMcTrig", "Events", kFALSE); 110 write1.AddContainer("MRawEvtHeader", "Events"); 111 write1.AddContainer("MHillas", "Events"); 112 write1.AddContainer("MHillasExt", "Events"); 113 write1.AddContainer("MHillasSrc", "Events"); 114 write1.AddContainer("MNewImagePar", "Events"); 115 116 if (OutFilename2) // Second output file, in case we want a split output 117 { 118 MWriteRootFile write2(OutFilename2->Data()); // Writes output 119 write2.AddContainer("MRawRunHeader", "RunHeaders"); 120 write2.AddContainer("MMcRunHeader", "RunHeaders", kFALSE); 121 write2.AddContainer("MSrcPosCam", "RunHeaders"); 122 write2.AddContainer("MGeomCam", "RunHeaders", kFALSE); 123 write2.AddContainer("MMcConfigRunHeader", "RunHeaders", kFALSE); 124 write2.AddContainer("MMcCorsikaRunHeader", "RunHeaders", kFALSE); 125 write2.AddContainer("MMcFadcHeader", "RunHeaders", kFALSE); 126 write2.AddContainer("MMcTrigHeader", "RunHeaders", kFALSE); 127 128 write2.AddContainer("MMcEvt", "Events", kFALSE); 129 write2.AddContainer("MPointingPos", "Events", kFALSE); 130 write2.AddContainer("MMcTrig", "Events", kFALSE); 131 write2.AddContainer("MRawEvtHeader", "Events"); 132 write2.AddContainer("MHillas", "Events"); 133 write2.AddContainer("MHillasExt", "Events"); 134 write2.AddContainer("MHillasSrc", "Events"); 135 write2.AddContainer("MNewImagePar", "Events"); 136 137 // 138 // Divide output in train and test samples, using the event number 139 // (odd/even) to achieve otherwise unbiased event samples: 140 // 141 142 MF filter1("{MMcEvt.fEvtNumber%2}>0.5"); 143 MF filter2("{MMcEvt.fEvtNumber%2}<0.5"); 144 145 write1.SetFilter(&filter1); 146 write2.SetFilter(&filter2); 147 148 tlist.AddToList(&filter1); 149 tlist.AddToList(&filter2); 150 } 151 152 153 tlist.AddToList(&write1); 154 155 if (OutFilename2) 156 tlist.AddToList(&write2); 157 96 158 97 159 //
Note:
See TracChangeset
for help on using the changeset viewer.