{ // Load some of the needed libraries into ROOT. gSystem->Load("libamanda-core.so"); gSystem->Load("libdataclasses.so"); gSystem->Load("libdataio.so"); gSystem->Load("libicetray.so"); gSystem->Load("libphys-services.so"); gSystem->Load("libroot-icetray.so"); gSystem->Load("libcleanhits.so"); gSystem->Load("libdipolefit.so"); gSystem->Load("libanalog2hits.so"); gSystem->Load("libcfirst.so"); gSystem->Load("liblinefit.so"); gSystem->Load("libanalysis-tree.so"); RootI3Tray tray; // // SERVICES // tray.AddService("I3F2kFileFactory", "f2k"); string infile("/data/aya/MyData/MC/"); infile.append("ic16.nusim001999.icecube"); tray.SetParameter("f2k", "Infile", infile); tray.SetParameter("f2k", "Uncalibrate", false); // // MODULES // tray.AddModule("I3F2kEventSource", "source"); tray.AddModule("I3DummyCalibrationSource", "calib"); tray.AddModule("I3F2kGeometrySource", "geometry"); tray.AddModule("I3Analog2Hits", "analogh"); tray.AddModule("I3Analog2Pulses", "analog"); //hit-cleaning tray.AddModule("I3CleanHits","clean"); tray.AddModule("I3IsolatedHits","iso"); //analysis tray.AddModule("I3LineFit", "linefit"); tray.AddModule("I3DipoleFit", "dipole"); tray.AddModule("I3CFirstModule", "c_first"); tray.AddModule("I3AnalysisTreeModule", "root_tree"); // // CONNECTIONS // tray.ConnectBoxes("source", "OutBox", "calib"); tray.ConnectBoxes("calib", "OutBox", "geometry"); tray.ConnectBoxes("geometry", "OutBox", "analog"); tray.ConnectBoxes("analog", "OutBox", "analogh"); tray.ConnectBoxes("analogh", "OutBox", "clean"); tray.ConnectBoxes("clean", "OutBox", "iso"); tray.ConnectBoxes("iso", "OutBox", "c_first"); tray.ConnectBoxes("c_first", "OutBox", "linefit"); tray.ConnectBoxes("linefit", "OutBox", "dipole"); tray.ConnectBoxes("dipole", "OutBox", "root_tree"); // // PARAMETERS // /***************************************************************************/ /* analog parameters */ /***************************************************************************/ tray.SetParameter("analog", "Readout Name", "MuonDAQ"); tray.SetParameter("analogh", "Readout Name", "MuonDAQ"); tray.SetParameter("source", "NumberEvents", 3000);//971 nisuruto dame //tray.SetParameter("source", "StartEvent", 0); string outfile = "nusim-cut3.root"; /* tray.SetParameter("clean", "Minimum TOT", 125.); //was 125 tray.SetParameter("clean", "Maximum TOT", 2000.); //was 2000 tray.SetParameter("clean", "Minimum Amplitude", 0.);//was 150 tray.SetParameter("clean", "Maximum Amplitude", 200.); // was 400 tray.SetParameter("clean", "Minimum Time", 16500.); // was 21000 tray.SetParameter("clean", "Maximum Time", 25500.); //was 25500 tray.SetParameter("iso", "Isolation Time", 500.); tray.SetParameter("iso", "Isolation Distance", 70.); tray.SetParameter("linefit", "MinHits", 2); tray.SetParameter("dipole", "MinHits", 2); tray.SetParameter("c_first", "MinHits", 2); */ tray.SetParameter("clean", "Minimum TOT", 125.); //was 125 tray.SetParameter("clean", "Maximum TOT", 2000.); //was 2000 tray.SetParameter("clean", "Minimum Amplitude", 0.5);//was 150 tray.SetParameter("clean", "Maximum Amplitude", 200.); // was 400 tray.SetParameter("clean", "Minimum Time", 17000.); // was 21000 tray.SetParameter("clean", "Maximum Time", 25000.); //was 25500 tray.SetParameter("iso", "Isolation Time", 500.); tray.SetParameter("iso", "Isolation Distance", 30.); tray.SetParameter("linefit", "MinHits", 4); tray.SetParameter("dipole", "MinHits", 4); tray.SetParameter("c_first", "MinHits", 5); tray.SetParameter("c_first", "TriggerHits", 4); /// tray.SetParameter("clean", "Output Name", "cleaned"); tray.SetParameter("iso", "Output Name", "coinc"); tray.SetParameter("iso", "Input Selection", "cleaned"); tray.SetParameter("iso", "Input Readout", "cleaned"); /***************************************************************************/ /* source parameters */ /***************************************************************************/ tray.SetParameter("dipole", "InputSelection", "coinc"); tray.SetParameter("linefit", "InputSelection", "coinc"); tray.SetParameter("c_first", "InputSelector", "coinc"); /***************************************************************************/ /* cfirst sparameters */ /***************************************************************************/ tray.SetParameter("c_first", "InputType", "RecoHit"); tray.SetParameter("c_first", "RecoHitSeries", "Muon-DAQ Hits"); tray.SetParameter("c_first", "FirstLE", false); tray.SetParameter("c_first", "AmpWeightPower", 1.0); tray.SetParameter("c_first", "DirectHitRadius", 100.0); tray.SetParameter("c_first", "SmallClusterRadius", 30.0); tray.SetParameter("c_first", "LargeClusterRadius", 60.0); tray.SetParameter("c_first", "TriggerWindow", 200.0); tray.SetParameter("c_first", "EarlyHitStart", -1500.0); tray.SetParameter("c_first", "EarlyHitStop", -200.0); tray.SetParameter("c_first", "MonteCarloTruth", true); tray.SetParameter("c_first", "ResultName", "CFirst"); tray.SetParameter("c_first", "McTruthName", "McTruth"); tray.SetParameter("linefit","InputReadout","Muon-DAQ Pulses"); //tray.SetParameter("linefit","InputSelection","coinc"); tray.SetParameter("dipole","InputReadout","Muon-DAQ Pulses"); //tray.SetParameter("dipole","InputSelection","conic"); /***************************************************************************/ /* root_tree parameters */ /***************************************************************************/ //string outfile(getenv("I3_WORK")); //outfile.append("out.root"); tray.SetParameter("root_tree", "TreeName", "tree"); tray.SetParameter("root_tree", "RootFileName", outfile); tray.Execute(); tray.Finish(); TFile a(outfile.c_str()); a.ls(); gStyle->SetPalette(1); TCanvas *can = new TCanvas("can","can",400,600); TTree *tree = (TTree *) gROOT->FindObject("tree"); can->Divide(2,3); can->cd(1); tree->Draw("LineFit.dir_.zenith_:DipoleFit.dir_.zenith_"); can->cd(2); //tree->Draw("MuonDAQ.Pos.z_:I3MCTrack.energy_"); TCut somecut = "DipoleFit.nHits_>1"; tree->Draw("MuonDAQ.Pos.z_:MuonDAQ.Time",somecut,"colz"); can->cd(3); tree->Draw("LineFit.dir_.zenith_-I3MCTrack.dir_.zenith_"); can->cd(4); tree->Draw("MuonDAQ.Time"); can->cd(5); tree->Draw("DipoleFit.dir_.zenith_"); tree->Draw("DipoleFit.dir_.zenith_:I3MCTrack.energy_"); can->cd(6); tree->Draw("DipoleFit.nHits_:I3MCTrack.energy_"); new TBrowser; //Make cuts on certain paramters //Create a histogram //TH2F *d2 = new TH2F("d2","",100,-200,200, 100, -200, 200); //TH1F *d1 = new TH1F("d1","",100, -200, 200); //tree->Draw("DipoleFit.nHits_:I3MCTrack.energy_ >> d2",somecut); //exit(0); }