Changeset 14737 for fact/tools/marsmacros
- Timestamp:
- 12/06/12 14:37:44 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fact/tools/marsmacros/mc2csv/mmc2csv.C
r14724 r14737 3 3 // 4 4 // 5 #include <iostream> 6 #include <string> 7 #include <stdlib.h> 8 9 #include <TROOT.h> 5 10 #include <TSystem.h> 6 11 #include <TString.h> 7 12 #include <TStyle.h> 8 //#include <TCanvas.h>9 //#include <TMath.h>10 //#include <TFile.h>11 //#include <TH1.h>12 //#include <TH2F.h>13 //#include <TF1.h>14 //#include <TTree.h>15 16 #include <endian.h>17 18 19 //#include "MStatusDisplay.h"20 //#include "MStatusArray.h"21 //#include "MRawEvtData.h"22 //#include "MArrayB.h"23 13 24 14 //#include <stdio.h> 25 //#include <iostream.h>26 15 27 16 #include "MonteCarlo.h" 28 17 29 18 using namespace std; 30 using namespace TMath;31 19 20 int mmc2csv( 21 TString rootFile = "", 22 TString csvDestination = "", 23 int verbLvl = 0 24 ) 25 { 32 26 33 int mmc2csv( 34 TString rootFile = "/home_nfs/isdc/jbbuss/FACT-MC/00002249.001_D_MonteCarlo000.root", 35 TString csvDestination = "/home_nfs/isdc/jbbuss/FACT-MC/", 36 int verbLvl = 0 37 ) 27 cout << "...loading MC file" << endl; 28 TString temp = rootFile; 29 // if (!gSystem->BaseName(csvFile)){ 30 // TString csvFile = gSystem->DirName(csvLocation); 31 32 temp = temp.Remove( 33 rootFile.Last('.'), 34 rootFile.Length() - rootFile.Last('.') 35 ); 36 // csvDestination += "/"; 37 csvDestination += gSystem->BaseName(temp); 38 csvDestination += ".csv"; 39 // } 40 41 // cout << csvDestination << endl ; 42 43 MonteCarlo MC( rootFile ); 44 45 cout << "...setting verbosity Level" << endl; 46 MC.SetVerbosityLevel(verbLvl); 47 48 cout << "...converting mc to csv" << endl; 49 MC.WriteMc2Csv(csvDestination); 50 51 return 0; 52 53 } 54 55 int main(int argc, char* argv[]) 38 56 { 57 int verbLVL = 0; 58 std::string arg; 59 std::string inFile, outPath; 60 // Check the number of parameters 61 if (argc < 2) { 62 // Tell the user how to run the program 63 std::cerr << "Usage: " << argv[0] 64 << " -i <infile> -o <outdir> -vvvv \n" 65 << std::endl; 66 /* "Usage messages" are a conventional way of telling the user 67 * how to run a program if they enter the command incorrectly. 68 */ 69 return 1; 70 } 71 // Print the user's name: 39 72 40 cout << "...loading MC file" << endl; 41 TString temp = rootFile; 42 // if (!gSystem->BaseName(csvFile)){ 43 // TString csvFile = gSystem->DirName(csvLocation); 73 for ( int i = 0; i < argc; i++) 74 { 75 if (i < argc) // Check that we haven't finished parsing already 76 { 77 arg = argv[i]; 78 // std::cout << "..." << arg << std::endl; 44 79 45 temp = temp.Remove( 46 rootFile.Last('.'), 47 rootFile.Length() - rootFile.Last('.') 48 ); 49 // csvDestination += "/"; 50 csvDestination += gSystem->BaseName(temp); 51 csvDestination += ".csv"; 52 // } 80 if (arg == "-i" || arg == "--input" ) 81 { 82 inFile = argv[i+1]; 83 std::cout << "inFile: " << inFile << std::endl; 84 } 85 else if (arg == "-o" || arg == "--output" ) 86 { 87 outPath = argv[i+1]; 88 std::cout << "outPath: " << outPath << std::endl; 89 } 90 else if ( arg.find_first_of("-") == 0 && arg.find_first_of("v") == 1 ){ 91 verbLVL = arg.find_last_of("v") - arg.find_first_of("v") + 1; 92 std::cout << "verbosity level: " << verbLVL << std::endl; 93 } 94 } 95 else 96 { 97 std::cout << "Not enough or invalid arguments, please try again.\n"; 98 exit(0); 99 } 100 // std::cout << argv[0] << "says hello, " << argv[i] << std::endl; 101 } 53 102 54 // cout << csvDestination << endl ; 55 56 MonteCarlo MC( rootFile ); 57 58 cout << "...setting verbosity Level" << endl; 59 MC.SetVerbosityLevel(verbLvl); 60 61 cout << "...converting mc to csv" << endl; 62 MC.WriteMc2Csv(csvDestination); 63 64 return 0; 65 103 // mmc2csv(myFile, myOutPath, verbLvl); 104 cout << "mmc2csv(" << inFile << ", " << outPath << ", " 105 << verbLVL << " )" << endl; 106 return 0; 66 107 } 67 108 68
Note:
See TracChangeset
for help on using the changeset viewer.