Changeset 2169
- Timestamp:
- 06/11/03 08:20:37 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/macros/ONOFFCT1Analysis.C
r2167 r2169 153 153 // - write root file for ON (or OFF or MC) data (ON1.root, ...); 154 154 155 Bool_t JobA = k TRUE;155 Bool_t JobA = kFALSE; 156 156 Bool_t WPad = kFALSE; // write out padding histograms ? 157 Bool_t RPad = k TRUE; // read in padding histograms ?158 Bool_t Wout = k TRUE; // write out root file ON1.root157 Bool_t RPad = kFALSE; // read in padding histograms ? 158 Bool_t Wout = kFALSE; // write out root file ON1.root 159 159 // (or OFF1.root or MC1.root)? 160 160 161 162 // Job A_MC : read MC gamma data, 163 // - read sigmabar vs. Theta plot from ON data 164 // - do padding; 165 // - write root file for MC gammas (MC1.root); 166 167 Bool_t JobA_MC = kFALSE; 168 Bool_t WMC1 = kFALSE; // write out root file MC1.root ? 169 170 171 // Job B_NN_UP : read ON1.root (or MC1.root) file 161 // Job B_NN_UP : read ON1.root (OFF1.root or MC1.root) file 172 162 // - depending on RlookNN : create (or read in) hadron and gamma matrix 173 163 // - calculate hadroness for method of NEAREST NEIGHBORS 174 // and for the SUPERCUTS175 // - update the input files with the hadronesses (ON1.rootor MC1.root)164 // - update the input files with the hadroness (ON1.root, OFF1.root 165 // or MC1.root) 176 166 177 167 Bool_t JobB_NN_UP = kFALSE; … … 180 170 181 171 182 // Job B_RF_UP : read ON1.root ( or MC1.root) file172 // Job B_RF_UP : read ON1.root (OFF1.root or MC1.root) file 183 173 // - depending on RLook : create (or read in) hadron and gamma matrix 184 174 // - depending on RTree : create (or read in) trees 185 175 // - calculate hadroness for method of RANDOM FOREST 186 // - update the input files with the hadroness (ON1.root or MC1.root) 176 // and for the SUPERCUTS 177 // - update the input files with the hadronesses (ON1.root, OFF1.root 178 // or MC1.root) 187 179 188 180 Bool_t JobB_RF_UP = kFALSE; … … 211 203 // - make plots 212 204 213 Bool_t JobD = k FALSE;205 Bool_t JobD = kTRUE; 214 206 215 207 … … 220 212 // - optimize energy estimation for events passing the final cuts 221 213 // - write parameters of energy estimator onto file 222 // - update ON1.root and MC1.root files with estimated energy223 // (ON_XX1.root and MC_XX1.root)214 // - update ON1.root, OFF1.root and MC1.root files with estimated energy 215 // (ON_XX1.root, OFF_XX1.root and MC_XX1.root) 224 216 225 217 Bool_t JobE_EST_UP = kFALSE; … … 693 685 694 686 695 //---------------------------------------------------------------------696 // Job A_MC697 //=========698 699 // read MC gamma data700 701 // - to pad them702 // (using the 2D-histogram "sigmabar versus Theta"703 // (SigmaTheta_ON.root) of the ON data)704 705 // - to write a file of padded MC gamma events (MC1.root)706 // (after the standard cuts, before the g/h separation)707 // (to be used together with the corresponding hadron file708 // for the optimization of the g/h separation)709 710 711 if (JobA_MC)712 {713 gLog << "=====================================================" << endl;714 gLog << "Macro CT1Analysis : Start of Job A_MC" << endl;715 716 gLog << "" << endl;717 gLog << "Macro CT1Analysis : JobA_MC, WMC1 = "718 << JobA_MC << ", " << WMC1 << endl;719 720 721 // name of input root file722 TString filenamein(mcfile);723 724 // name of output root file725 TString outNameImage = outPath;726 outNameImage += "MC";727 outNameImage += "1.root";728 729 //------------------------------------------------730 // use for padding sigmabar vs. Theta from ON data731 TString typeHist = "ON";732 gLog << "typeHist = " << typeHist << endl;733 734 // name of file containing the histograms for the padding735 TString outNameSigTh = outPath;736 outNameSigTh += "SigmaTheta_";737 outNameSigTh += typeHist;738 outNameSigTh += ".root";739 740 741 //------------------------------------742 // Get the histograms "2D-ThetaSigmabar"743 // and "3D-ThetaPixSigma"744 // and "3D-ThetaPixDiff"745 // and "2D-IdBlindPixels"746 // and "2D-NBlindPixels"747 748 749 gLog << "Reading in file " << outNameSigTh << endl;750 751 TFile *infile = new TFile(outNameSigTh);752 infile->ls();753 754 TH2D *fHSigmaTheta =755 (TH2D*) gROOT->FindObject("2D-ThetaSigmabar");756 if (!fHSigmaTheta)757 {758 gLog << "Object '2D-ThetaSigmabar' not found on root file" << endl;759 return;760 }761 gLog << "Object '2D-ThetaSigmabar' was read in" << endl;762 763 TH3D *fHSigmaPixTheta =764 (TH3D*) gROOT->FindObject("3D-ThetaPixSigma");765 if (!fHSigmaPixTheta)766 {767 gLog << "Object '3D-ThetaPixSigma' not found on root file" << endl;768 return;769 }770 gLog << "Object '3D-ThetaPixSigma' was read in" << endl;771 772 TH3D *fHDiffPixTheta =773 (TH3D*) gROOT->FindObject("3D-ThetaPixDiff");774 if (!fHDiffPixTheta)775 {776 gLog << "Object '3D-ThetaPixDiff' not found on root file" << endl;777 return;778 }779 gLog << "Object '3D-ThetaPixDiff' was read in" << endl;780 781 782 TH2D *fHIdBlindPixels =783 (TH2D*) gROOT->FindObject("2D-IdBlindPixels");784 if (!fHIdBlindPixels)785 {786 gLog << "Object '2D-IdBlindPixels' not found on root file" << endl;787 return;788 }789 gLog << "Object '2D-IdBlindPixels' was read in" << endl;790 791 TH2D *fHNBlindPixels =792 (TH2D*) gROOT->FindObject("2D-NBlindPixels");793 if (!fHNBlindPixels)794 {795 gLog << "Object '2D-NBlindPixels' not found on root file" << endl;796 return;797 }798 gLog << "Object '2D-NBlindPixels' was read in" << endl;799 800 //------------------------------------801 802 MTaskList tlist;803 MParList plist;804 805 char *sourceName = "MSrcPosCam";806 MSrcPosCam source(sourceName);807 808 809 // geometry is needed in MHHillas... classes810 MGeomCam *fGeom =811 (MGeomCam*)plist->FindCreateObj("MGeomCamCT1", "MGeomCam");812 813 //-------------------------------------------814 // create the tasks which should be executed815 //816 817 MCT1ReadPreProc read(filenamein);818 819 MBlindPixelCalc blind;820 blind.SetUseBlindPixels();821 822 MFCT1SelBasic selbasic;823 MContinue contbasic(&selbasic);824 contbasic.SetName("SelBasic");825 826 827 // There are 2 options for Thomas Schweizer's padding828 // fPadFlag = 1 get Sigmabar from fHSigmaTheta829 // and Sigma from fHDiffPixTheta830 // fPadFlag = 2 get Sigma from fHSigmaPixTheta831 832 MPadSchweizer padthomas("MPadSchweizer","Task for the padding (Schweizer)");833 padthomas.SetHistograms(fHSigmaTheta, fHSigmaPixTheta, fHDiffPixTheta,834 fHIdBlindPixels, fHNBlindPixels);835 padthomas.SetPadFlag(1);836 837 MFillH fillblind("MCBlindPixels[MHBlindPixels]", "MBlindPixels");838 fillblind.SetName("HBlind");839 840 841 //...........................................842 843 MSigmabarCalc sigbarcalc;844 845 MFillH fillsigtheta ("MCSigmaTheta[MHSigmaTheta]", "MMcEvt");846 fillsigtheta.SetName("HSigmaTheta");847 848 MImgCleanStd clean;849 850 // calculation of image parameters ---------------------851 TString fHilName = "MHillas";852 TString fHilNameExt = "MHillasExt";853 TString fHilNameSrc = "MHillasSrc";854 TString fImgParName = "MNewImagePar";855 856 MHillasCalc hcalc;857 hcalc.SetNameHillas(fHilName);858 hcalc.SetNameHillasExt(fHilNameExt);859 hcalc.SetNameNewImgPar(fImgParName);860 861 MHillasSrcCalc hsrccalc(sourceName, fHilNameSrc);862 hsrccalc.SetInput(fHilName);863 864 865 MFillH hfill1("MHHillas", fHilName);866 hfill1.SetName("HHillas");867 868 MFillH hfill2("MHStarMap", fHilName);869 hfill2.SetName("HStarMap");870 871 MFillH hfill3("MHHillasExt", fHilNameSrc);872 hfill3.SetName("HHillasExt");873 874 MFillH hfill4("MHHillasSrc", fHilNameSrc);875 hfill4.SetName("HHillasSrc");876 877 MFillH hfill5("MHNewImagePar", fImgParName);878 hfill5.SetName("HNewImagePar");879 // --------------------------------------------------880 881 MFCT1SelStandard selstandard(fHilNameSrc);882 selstandard.SetHillasName(fHilName);883 selstandard.SetImgParName(fImgParName);884 selstandard.SetCuts(92, 4, 60, 0.4, 1.05, 0.0, 0.0);885 MContinue contstandard(&selstandard);886 contstandard.SetName("SelStandard");887 888 889 890 MWriteRootFile write(outNameImage);891 892 write.AddContainer("MRawRunHeader", "RunHeaders");893 write.AddContainer("MTime", "Events");894 write.AddContainer("MMcEvt", "Events");895 write.AddContainer("ThetaOrig", "Events");896 write.AddContainer("MSrcPosCam", "Events");897 write.AddContainer("MSigmabar", "Events");898 write.AddContainer("MHillas", "Events");899 write.AddContainer("MHillasExt", "Events");900 write.AddContainer("MHillasSrc", "Events");901 write.AddContainer("MNewImagePar", "Events");902 903 904 905 //*****************************906 // entries in MParList907 908 plist.AddToList(&tlist);909 InitBinnings(&plist);910 911 plist.AddToList(&source);912 913 914 //*****************************915 // entries in MTaskList916 917 tlist.AddToList(&read);918 tlist.AddToList(&padthomas);919 tlist.AddToList(&blind);920 921 tlist.AddToList(&contbasic);922 tlist.AddToList(&fillblind);923 tlist.AddToList(&sigbarcalc);924 tlist.AddToList(&fillsigtheta);925 tlist.AddToList(&clean);926 927 tlist.AddToList(&hcalc);928 tlist.AddToList(&hsrccalc);929 930 tlist.AddToList(&hfill1);931 tlist.AddToList(&hfill2);932 tlist.AddToList(&hfill3);933 tlist.AddToList(&hfill4);934 tlist.AddToList(&hfill5);935 936 tlist.AddToList(&contstandard);937 if (WMC1)938 tlist.AddToList(&write);939 940 //*****************************941 942 943 //-------------------------------------------944 // Execute event loop945 //946 MProgressBar bar;947 MEvtLoop evtloop;948 evtloop.SetParList(&plist);949 evtloop.ReadEnv(env, "", printEnv);950 evtloop.SetProgressBar(&bar);951 //if (WMC1)952 // evtloop.Write();953 954 Int_t maxevents = -1;955 //Int_t maxevents = 1000;956 if ( !evtloop.Eventloop(maxevents) )957 return;958 959 tlist.PrintStatistics(0, kTRUE);960 961 962 //-------------------------------------------963 // Display the histograms964 //965 966 plist.FindObject("MCSigmaTheta", "MHSigmaTheta")->DrawClone();967 plist.FindObject("MCBlindPixels", "MHBlindPixels")->DrawClone();968 969 plist.FindObject("MHHillas")->DrawClone();970 plist.FindObject("MHHillasExt")->DrawClone();971 plist.FindObject("MHHillasSrc")->DrawClone();972 plist.FindObject("MHNewImagePar")->DrawClone();973 plist.FindObject("MHStarMap")->DrawClone();974 975 976 977 DeleteBinnings(&plist);978 979 gLog << "Macro CT1Analysis : End of Job A_MC"980 << endl;981 gLog << "========================================================="982 << endl;983 }984 985 986 687 987 688 //--------------------------------------------------------------------- … … 1010 711 1011 712 //-------------------------------------------- 1012 // file to be updated (either ON or MC) 1013 1014 TString typeInput = "ON"; 1015 //TString typeInput = "MC"; 713 // file to be updated (ON, OFF or MC) 714 715 //TString typeInput = "ON"; 716 //TString typeInput = "OFF"; 717 TString typeInput = "MC"; 1016 718 gLog << "typeInput = " << typeInput << endl; 1017 719 … … 1034 736 // files to be read for generating the look-alike events 1035 737 // "hadrons" : 1036 TString filename ON= outPath;1037 filename ON += "ON";1038 filename ON+= "1.root";738 TString filenameHad = outPath; 739 filenameHad += "OFF"; 740 filenameHad += "1.root"; 1039 741 Int_t howManyHadrons = 500000; 1040 gLog << "filename ON = " << filenameON<< ", howManyHadrons = "742 gLog << "filenameHad = " << filenameHad << ", howManyHadrons = " 1041 743 << howManyHadrons << endl; 1042 744 … … 1058 760 outNameGammas += ".root"; 1059 761 1060 TString typeMatrixHadrons = "O N";762 TString typeMatrixHadrons = "OFF"; 1061 763 gLog << "typeMatrixHadrons = " << typeMatrixHadrons << endl; 1062 764 … … 1134 836 readg.DisableAutoScheme(); 1135 837 1136 MReadMarsFile readh("Events", filename ON);838 MReadMarsFile readh("Events", filenameHad); 1137 839 readh.DisableAutoScheme(); 1138 840 … … 1383 1085 1384 1086 //....................................................................... 1385 // calculation of hadroness for the supercuts1386 // (=0.25 if fullfilled, =0.75 otherwise)1387 1388 TString hadSCName = "HadSC";1389 MCT1SupercutsCalc sccalc(fHilName, fHilNameSrc);1390 sccalc.SetHadronnessName(hadSCName);1391 1392 //.......................................................................1393 1087 1394 1088 //MWriteRootFile write(outNameImage, "UPDATE"); … … 1406 1100 write.AddContainer("MNewImagePar", "Events"); 1407 1101 1102 write.AddContainer("HadRF", "Events"); 1103 write.AddContainer("HadSC", "Events"); 1408 1104 write.AddContainer("HadNN", "Events"); 1409 write.AddContainer("HadSC", "Events");1410 1105 1411 1106 … … 1428 1123 MFillH fillhadnn("hadNN[MHHadronness]", hadNNName); 1429 1124 fillhadnn.SetName("HhadNN"); 1430 MFillH fillhadsc("hadSC[MHHadronness]", hadSCName);1431 fillhadsc.SetName("HhadSC");1432 1125 1433 1126 MFCT1SelFinal selfinal(fHilNameSrc); … … 1470 1163 1471 1164 tliston.AddToList(&nncalc); 1472 tliston.AddToList(&sccalc);1473 1165 tliston.AddToList(&fillhadnn); 1474 tliston.AddToList(&fillhadsc);1475 1166 1476 1167 tliston.AddToList(&hfill1); … … 1505 1196 // 1506 1197 pliston.FindObject("hadNN", "MHHadronness")->DrawClone(); 1507 pliston.FindObject("hadSC", "MHHadronness")->DrawClone();1508 1198 1509 1199 pliston.FindObject("MHHillas")->DrawClone(); … … 1557 1247 1558 1248 //-------------------------------------------- 1559 // file to be updated ( either ONor MC)1249 // file to be updated (ON, OFF or MC) 1560 1250 1561 1251 TString typeInput = "ON"; 1252 //TString typeInput = "OFF"; 1562 1253 //TString typeInput = "MC"; 1563 1254 gLog << "typeInput = " << typeInput << endl; … … 1566 1257 TString filenameData = outPath; 1567 1258 filenameData += typeInput; 1568 filenameData += " 2.root";1259 filenameData += "1.root"; 1569 1260 gLog << "filenameData = " << filenameData << endl; 1570 1261 … … 1572 1263 TString outNameImage = outPath; 1573 1264 outNameImage += typeInput; 1574 outNameImage += " 3.root";1265 outNameImage += "2.root"; 1575 1266 //TString outNameImage = filenameData; 1576 1267 … … 1580 1271 // files to be read for generating the look-alike events 1581 1272 // "hadrons" : 1582 TString filename ON= outPath;1583 filename ON += "ON";1584 filename ON+= "1.root";1273 TString filenameHad = outPath; 1274 filenameHad += "OFF"; 1275 filenameHad += "1.root"; 1585 1276 Int_t howManyHadrons = 1000000; 1586 gLog << "filename ON = " << filenameON<< ", howManyHadrons = "1277 gLog << "filenameHad = " << filenameHad << ", howManyHadrons = " 1587 1278 << howManyHadrons << endl; 1588 1279 … … 1604 1295 outNameGammas += ".root"; 1605 1296 1606 TString typeMatrixHadrons = "O N";1297 TString typeMatrixHadrons = "OFF"; 1607 1298 gLog << "typeMatrixHadrons = " << typeMatrixHadrons << endl; 1608 1299 … … 1687 1378 readg.DisableAutoScheme(); 1688 1379 1689 MReadMarsFile readh("Events", filename ON);1380 MReadMarsFile readh("Events", filenameHad); 1690 1381 readh.DisableAutoScheme(); 1691 1382 … … 2046 1737 2047 1738 //....................................................................... 1739 // calculation of hadroness for the supercuts 1740 // (=0.25 if fullfilled, =0.75 otherwise) 1741 1742 TString hadSCName = "HadSC"; 1743 MCT1SupercutsCalc sccalc(fHilName, fHilNameSrc); 1744 sccalc.SetHadronnessName(hadSCName); 1745 1746 1747 //....................................................................... 2048 1748 2049 1749 //MWriteRootFile write(outNameImage, "UPDATE"); … … 2061 1761 write.AddContainer("MNewImagePar", "Events"); 2062 1762 2063 write.AddContainer("Had NN", "Events");1763 write.AddContainer("HadRF", "Events"); 2064 1764 write.AddContainer("HadSC", "Events"); 2065 2066 write.AddContainer(hadRFName, "Events");2067 2068 1765 2069 1766 //----------------------------------------------------------------- … … 2089 1786 MFillH fillhadrf("hadRF[MHHadronness]", hadRFName); 2090 1787 fillhadrf.SetName("HhadRF"); 1788 MFillH fillhadsc("hadSC[MHHadronness]", hadSCName); 1789 fillhadsc.SetName("HhadSC"); 1790 2091 1791 2092 1792 MFCT1SelFinal selfinal(fHilNameSrc); … … 2128 1828 2129 1829 tliston.AddToList(&rfcalc); 1830 tliston.AddToList(&sccalc); 2130 1831 tliston.AddToList(&fillranfor); 2131 1832 tliston.AddToList(&fillhadrf); 1833 tliston.AddToList(&fillhadsc); 2132 1834 2133 1835 tliston.AddToList(&hfill1); … … 2164 1866 pliston.FindObject("MHRanForest")->DrawClone(); 2165 1867 pliston.FindObject("hadRF", "MHHadronness")->DrawClone(); 1868 pliston.FindObject("hadSC", "MHHadronness")->DrawClone(); 2166 1869 2167 1870 pliston.FindObject("MHHillas")->DrawClone(); … … 2201 1904 // name of input data file 2202 1905 TString filenameData = outPath; 2203 filenameData += "O N";2204 filenameData += " 3.root";1906 filenameData += "OFF"; 1907 filenameData += "2.root"; 2205 1908 gLog << "filenameData = " << filenameData << endl; 2206 1909 … … 2208 1911 TString filenameMC = outPath; 2209 1912 filenameMC += "MC"; 2210 filenameMC += " 3.root";1913 filenameMC += "2.root"; 2211 1914 gLog << "filenameMC = " << filenameMC << endl; 2212 1915 … … 2252 1955 MFCT1SelFinal selfinalgh(fHilNameSrc); 2253 1956 selfinalgh.SetCuts(maxhadronness, 100.0, maxdist); 2254 selfinalgh.SetHadronnessName(had NNName);1957 selfinalgh.SetHadronnessName(hadRFName); 2255 1958 selfinalgh.SetName("SelFinalgh"); 2256 1959 MContinue contfinalgh(&selfinalgh); 2257 1960 contfinalgh.SetName("ContSelFinalgh"); 2258 1961 2259 MFillH fillhadnn("hadNN[MHHadronness]", hadNNName);2260 fillhadnn.SetName("HhadNN");1962 //MFillH fillhadnn("hadNN[MHHadronness]", hadNNName); 1963 //fillhadnn.SetName("HhadNN"); 2261 1964 MFillH fillhadsc("hadSC[MHHadronness]", hadSCName); 2262 1965 fillhadsc.SetName("HhadSC"); … … 2266 1969 MFCT1SelFinal selfinal(fHilNameSrc); 2267 1970 selfinal.SetCuts(maxhadronness, maxalpha, maxdist); 2268 selfinal.SetHadronnessName(had NNName);1971 selfinal.SetHadronnessName(hadRFName); 2269 1972 selfinal.SetName("SelFinal"); 2270 1973 MContinue contfinal(&selfinal); … … 2300 2003 tliston.AddToList(&read); 2301 2004 2302 tliston.AddToList(&fillhadnn);2005 //tliston.AddToList(&fillhadnn); 2303 2006 tliston.AddToList(&fillhadsc); 2304 2007 tliston.AddToList(&fillhadrf); … … 2335 2038 // 2336 2039 2337 pliston.FindObject("hadNN", "MHHadronness")->DrawClone();2040 //pliston.FindObject("hadNN", "MHHadronness")->DrawClone(); 2338 2041 pliston.FindObject("hadSC", "MHHadronness")->DrawClone(); 2339 2042 pliston.FindObject("hadRF", "MHHadronness")->DrawClone(); … … 2372 2075 2373 2076 // type of data to be analysed 2374 //TString typeData = "ON";2077 TString typeData = "ON"; 2375 2078 //TString typeData = "OFF"; 2376 TString typeData = "MC";2079 //TString typeData = "MC"; 2377 2080 gLog << "typeData = " << typeData << endl; 2378 2081 2379 TString ext = " 3.root";2082 TString ext = "2.root"; 2380 2083 2381 2084 … … 2392 2095 2393 2096 // maximum values of the hadronness, |ALPHA| and DIST 2394 Float_t maxhadronness = 0. 20;2097 Float_t maxhadronness = 0.30; 2395 2098 Float_t maxalpha = 20.0; 2396 2099 Float_t maxdist = 10.0; … … 2447 2150 contfinalgh.SetName("ContSelFinalgh"); 2448 2151 2449 MFillH fillhadnn("hadNN[MHHadronness]", "HadNN");2450 fillhadnn.SetName("HhadNN");2152 //MFillH fillhadnn("hadNN[MHHadronness]", "HadNN"); 2153 //fillhadnn.SetName("HhadNN"); 2451 2154 MFillH fillhadsc("hadSC[MHHadronness]", "HadSC"); 2452 2155 fillhadsc.SetName("HhadSC"); … … 2492 2195 tliston.AddToList(&contfinalgh); 2493 2196 2494 tliston.AddToList(&contfinal); 2495 2496 tliston.AddToList(&fillhadnn); 2197 //tliston.AddToList(&fillhadnn); 2497 2198 tliston.AddToList(&fillhadsc); 2498 2199 tliston.AddToList(&fillhadrf); … … 2504 2205 tliston.AddToList(&hfill5); 2505 2206 2506 2207 tliston.AddToList(&contfinal); 2507 2208 2508 2209 //***************************** … … 2524 2225 2525 2226 2227 2526 2228 //------------------------------------------- 2527 2229 // Display the histograms 2528 2230 // 2529 2231 2530 pliston.FindObject("hadNN", "MHHadronness")->DrawClone();2232 //pliston.FindObject("hadNN", "MHHadronness")->DrawClone(); 2531 2233 pliston.FindObject("hadRF", "MHHadronness")->DrawClone(); 2532 2234 pliston.FindObject("hadSC", "MHHadronness")->DrawClone(); … … 2538 2240 pliston.FindObject("MHStarMap")->DrawClone(); 2539 2241 2242 //------------------------------------------- 2243 // fit alpha distribution to get the number of excess events 2244 // 2245 2246 MHHillasSrc* hillasSrc = 2247 (MHHillasSrc*)(pliston->FindObject("MHHillasSrc")); 2248 TH1F* alphaHist = (TH1F*)(hillasSrc->GetHistAlpha()); 2249 2250 MHOnSubtraction onsub; 2251 onsub.Calc(alphaHist, &pliston, kTRUE, 25); 2252 //------------------------------------------- 2253 2540 2254 DeleteBinnings(&pliston); 2541 2255 … … 2570 2284 2571 2285 2572 TString typeON = "ON"; 2573 TString typeMC = "MC"; 2574 TString ext = "3.root"; 2575 TString extout = "4.root"; 2286 TString typeON = "ON"; 2287 TString typeOFF = "OFF"; 2288 TString typeMC = "MC"; 2289 TString ext = "2.root"; 2290 TString extout = "3.root"; 2576 2291 2577 2292 //------------------------------ … … 2586 2301 // and definition of final selections 2587 2302 2588 TString XX("NN");2303 //TString XX("NN"); 2589 2304 //TString XX("SC"); 2590 //TString XX("RF");2305 TString XX("RF"); 2591 2306 TString fhadronnessName("Had"); 2592 2307 fhadronnessName += XX; … … 2615 2330 filenameON += ext; 2616 2331 gLog << "filenameON = " << filenameON << endl; 2332 2333 // name of OFF file to be updated 2334 TString filenameOFF(outPath); 2335 filenameOFF += typeOFF; 2336 filenameOFF += ext; 2337 gLog << "filenameOFF = " << filenameOFF << endl; 2617 2338 2618 2339 // name of MC file to be updated … … 2631 2352 gLog << "filenameONup = " << filenameONup << endl; 2632 2353 2354 // name of updated OFF file 2355 TString filenameOFFup(outPath); 2356 filenameOFFup += typeOFF; 2357 filenameOFFup += "_"; 2358 filenameOFFup += XX; 2359 filenameOFFup += extout; 2360 gLog << "filenameOFFup = " << filenameOFFup << endl; 2361 2633 2362 // name of updated MC file 2634 2363 TString filenameMCup(outPath); … … 2683 2412 //========== start update ============================================ 2684 2413 // 2685 // Update ON and MC root files with the estimated energy2414 // Update ON, OFF and MC root files with the estimated energy 2686 2415 2687 2416 //--------------------------------------------------- 2688 // Update O N data2417 // Update OFF data 2689 2418 // 2690 2419 gLog << "============================================================" 2691 2420 << endl; 2692 gLog << "Macro CT1Analysis.C : update file '" << filenameO N2421 gLog << "Macro CT1Analysis.C : update file '" << filenameOFF 2693 2422 << "'" << endl; 2694 2423 2695 MTaskList tlisto n;2696 MParList plisto n;2424 MTaskList tlistoff; 2425 MParList plistoff; 2697 2426 2698 2427 2699 2428 // geometry is needed in MHHillas... classes 2700 2429 MGeomCam *fGeom = 2701 (MGeomCam*)plisto n->FindCreateObj("MGeomCamCT1", "MGeomCam");2430 (MGeomCam*)plistoff->FindCreateObj("MGeomCamCT1", "MGeomCam"); 2702 2431 2703 2432 //------------------------------------------- … … 2705 2434 // 2706 2435 2707 MReadMarsFile read("Events", filenameO N);2436 MReadMarsFile read("Events", filenameOFF); 2708 2437 read.DisableAutoScheme(); 2709 2438 … … 2719 2448 //....................................................................... 2720 2449 2721 MWriteRootFile write(filenameO Nup);2450 MWriteRootFile write(filenameOFFup); 2722 2451 2723 2452 write.AddContainer("MRawRunHeader", "RunHeaders"); … … 2732 2461 write.AddContainer("MNewImagePar", "Events"); 2733 2462 2734 write.AddContainer("HadNN", "Events");2463 //write.AddContainer("HadNN", "Events"); 2735 2464 write.AddContainer("HadSC", "Events"); 2736 2465 write.AddContainer("HadRF", "Events"); … … 2749 2478 // entries in MParList 2750 2479 2751 plisto n.AddToList(&tliston);2752 InitBinnings(&plisto n);2480 plistoff.AddToList(&tlistoff); 2481 InitBinnings(&plistoff); 2753 2482 2754 2483 … … 2756 2485 // entries in MTaskList 2757 2486 2758 tlisto n.AddToList(&read);2759 tlisto n.AddToList(&eest2);2760 tlisto n.AddToList(&write);2761 tlisto n.AddToList(&contfinal);2487 tlistoff.AddToList(&read); 2488 tlistoff.AddToList(&eest2); 2489 tlistoff.AddToList(&write); 2490 tlistoff.AddToList(&contfinal); 2762 2491 2763 2492 //***************************** … … 2768 2497 MProgressBar bar; 2769 2498 MEvtLoop evtloop; 2770 evtloop.SetParList(&plisto n);2499 evtloop.SetParList(&plistoff); 2771 2500 evtloop.SetProgressBar(&bar); 2772 2501 … … 2776 2505 return; 2777 2506 2778 tlisto n.PrintStatistics(0, kTRUE);2779 DeleteBinnings(&plisto n);2507 tlistoff.PrintStatistics(0, kTRUE); 2508 DeleteBinnings(&plistoff); 2780 2509 2781 2510 //--------------------------------------------------- 2511 2782 2512 //--------------------------------------------------- 2783 // Update MCdata2513 // Update ON data 2784 2514 // 2785 2515 gLog << "============================================================" 2786 2516 << endl; 2787 gLog << "Macro CT1Analysis.C : update file '" << filename MC2517 gLog << "Macro CT1Analysis.C : update file '" << filenameON 2788 2518 << "'" << endl; 2789 2519 2790 MTaskList tlistmc; 2791 MParList plistmc; 2520 MTaskList tliston; 2521 MParList pliston; 2522 2523 2524 // geometry is needed in MHHillas... classes 2525 MGeomCam *fGeom = 2526 (MGeomCam*)pliston->FindCreateObj("MGeomCamCT1", "MGeomCam"); 2792 2527 2793 2528 //------------------------------------------- … … 2795 2530 // 2796 2531 2797 MReadMarsFile read("Events", filename MC);2532 MReadMarsFile read("Events", filenameON); 2798 2533 read.DisableAutoScheme(); 2799 2534 … … 2809 2544 //....................................................................... 2810 2545 2811 MWriteRootFile write(filename MCup);2546 MWriteRootFile write(filenameONup); 2812 2547 2813 2548 write.AddContainer("MRawRunHeader", "RunHeaders"); … … 2822 2557 write.AddContainer("MNewImagePar", "Events"); 2823 2558 2824 write.AddContainer("HadNN", "Events");2559 //write.AddContainer("HadNN", "Events"); 2825 2560 write.AddContainer("HadSC", "Events"); 2826 2561 write.AddContainer("HadRF", "Events"); … … 2839 2574 // entries in MParList 2840 2575 2841 plist mc.AddToList(&tlistmc);2842 InitBinnings(&plist mc);2576 pliston.AddToList(&tliston); 2577 InitBinnings(&pliston); 2843 2578 2844 2579 … … 2846 2581 // entries in MTaskList 2847 2582 2848 tlist mc.AddToList(&read);2849 tlist mc.AddToList(&eest2);2850 tlist mc.AddToList(&write);2851 tlist mc.AddToList(&contfinal);2583 tliston.AddToList(&read); 2584 tliston.AddToList(&eest2); 2585 tliston.AddToList(&write); 2586 tliston.AddToList(&contfinal); 2852 2587 2853 2588 //***************************** … … 2858 2593 MProgressBar bar; 2859 2594 MEvtLoop evtloop; 2860 evtloop.SetParList(&plist mc);2595 evtloop.SetParList(&pliston); 2861 2596 evtloop.SetProgressBar(&bar); 2862 2597 … … 2866 2601 return; 2867 2602 2868 tlistmc.PrintStatistics(0, kTRUE); 2869 DeleteBinnings(&plistmc); 2870 2871 2872 //========== end update ============================================ 2873 } 2874 2875 enparam.Close(); 2876 2877 gLog << "Macro CT1Analysis : End of Job E_EST_UP" << endl; 2878 gLog << "=======================================================" << endl; 2879 } 2880 //--------------------------------------------------------------------- 2881 2882 2883 //--------------------------------------------------------------------- 2884 // Job F_XX 2885 //========= 2886 2887 // - select g/h separation method XX 2888 // - read MC_XX2.root file 2889 // - calculate eff. collection area 2890 // - read ON_XX2.root file 2891 // - apply final cuts 2892 // - calculate flux 2893 // - write root file for ON data after final cuts (ON_XX3.root)) 2894 2895 2896 if (JobF_XX) 2897 { 2898 gLog << "=====================================================" << endl; 2899 gLog << "Macro CT1Analysis : Start of Job F_XX" << endl; 2900 2901 gLog << "" << endl; 2902 gLog << "Macro CT1Analysis : JobF_XX, WXX = " 2903 << JobF_XX << ", " << WXX << endl; 2904 2905 // type of data to be analysed 2906 TString typeData = "ON"; 2907 //TString typeData = "OFF"; 2908 //TString typeData = "MC"; 2909 gLog << "typeData = " << typeData << endl; 2910 2911 TString typeMC = "MC"; 2912 TString ext = "2.root"; 2913 TString extout = "3.root"; 2914 2915 //------------------------------ 2916 // selection of g/h separation method 2917 // and definition of final selections 2918 2919 //TString XX("NN"); 2920 TString XX("SC"); 2921 //TString XX("RF"); 2922 TString fhadronnessName("Had"); 2923 fhadronnessName += XX; 2924 gLog << "fhadronnessName = " << fhadronnessName << endl; 2925 2926 // maximum values of the hadronness, |ALPHA| and DIST 2927 Float_t maxhadronness = 0.40; 2928 Float_t maxalpha = 20.0; 2929 Float_t maxdist = 10.0; 2930 gLog << "Maximum values of hadronness, |ALPHA| and DIST = " 2931 << maxhadronness << ", " << maxalpha << ", " 2932 << maxdist << endl; 2933 2934 2935 //------------------------------ 2936 // name of MC file to be used for calculating the eff. collection areas 2937 TString filenameArea(outPath); 2938 filenameArea += typeMC; 2939 filenameArea += "_"; 2940 filenameArea += XX; 2941 filenameArea += ext; 2942 gLog << "filenameArea = " << filenameArea << endl; 2943 2944 //------------------------------ 2945 // name of file containing the eff. collection areas 2946 TString collareaName(outPath); 2947 collareaName += "area_"; 2948 collareaName += XX; 2949 collareaName += ".root"; 2950 gLog << "collareaName = " << collareaName << endl; 2951 2952 //------------------------------ 2953 // name of data file to be analysed 2954 TString filenameData(outPath); 2955 filenameData += typeData; 2956 filenameData += "_"; 2957 filenameData += XX; 2958 filenameData += ext; 2959 gLog << "filenameData = " << filenameData << endl; 2960 2961 //------------------------------ 2962 // name of output data file (after the final cuts) 2963 TString filenameDataout(outPath); 2964 filenameDataout += typeData; 2965 filenameDataout += "_"; 2966 filenameDataout += XX; 2967 filenameDataout += extout; 2968 gLog << "filenameDataout = " << filenameDataout << endl; 2969 2970 2971 //==================================================================== 2972 gLog << "-----------------------------------------------" << endl; 2973 gLog << "Start calculation of effective collection areas" << endl; 2974 MParList parlist; 2975 MTaskList tasklist; 2976 2977 //--------------------------------------- 2978 // Setup the tasks to be executed 2979 // 2980 MReadMarsFile reader("Events", filenameArea); 2981 reader.DisableAutoScheme(); 2982 2983 MFCT1SelFinal cuthadrons; 2984 cuthadrons.SetHadronnessName(fhadronnessName); 2985 cuthadrons.SetCuts(maxhadronness, maxalpha, maxdist); 2986 2987 MContinue conthadrons(&cuthadrons); 2988 2989 MHMcCT1CollectionArea* collarea = new MHMcCT1CollectionArea(); 2990 2991 MFillH filler("MHMcCT1CollectionArea", "MMcEvt"); 2992 filler.SetName("CollectionArea"); 2993 2994 //******************************** 2995 // entries in MParList 2996 2997 parlist.AddToList(&tasklist); 2998 InitBinnings(&parlist); 2999 parlist.AddToList(collarea); 3000 3001 //******************************** 3002 // entries in MTaskList 3003 3004 tasklist.AddToList(&reader); 3005 tasklist.AddToList(&conthadrons); 3006 tasklist.AddToList(&filler); 3007 3008 //******************************** 3009 3010 //----------------------------------------- 3011 // Execute event loop 3012 // 3013 MEvtLoop magic; 3014 magic.SetParList(&parlist); 3015 3016 MProgressBar bar; 3017 magic.SetProgressBar(&bar); 3018 if (!magic.Eventloop()) 3019 return; 3020 3021 tasklist.PrintStatistics(0, kTRUE); 3022 3023 // Calculate effective collection areas 3024 // and display the histograms 3025 // 3026 //MHMcCT1CollectionArea *collarea = parlist.FindObject("MHMcCT1CollectionArea"); 3027 collarea->CalcEfficiency(); 3028 collarea->DrawClone("lego"); 3029 3030 //--------------------------------------------- 3031 // Write histograms to a file 3032 // 3033 3034 TFile f(collareaName, "RECREATE"); 3035 collarea->GetHist()->Write(); 3036 collarea->GetHAll()->Write(); 3037 collarea->GetHSel()->Write(); 3038 f.Close(); 3039 3040 3041 gLog << "Calculation of effective collection areas done" << endl; 3042 gLog << "-----------------------------------------------" << endl; 3043 //------------------------------------------------------------------ 3044 3045 3046 //************************************************************************* 3047 // 3048 // Analyse the data 3049 // 3050 3051 MTaskList tliston; 3052 MParList pliston; 3053 3054 // geometry is needed in MHHillas... classes 3055 MGeomCam *fGeom = 3056 (MGeomCam*)pliston->FindCreateObj("MGeomCamCT1", "MGeomCam"); 3057 3058 3059 TString fHilName = "MHillas"; 3060 TString fHilNameExt = "MHillasExt"; 3061 TString fHilNameSrc = "MHillasSrc"; 3062 TString fImgParName = "MNewImagePar"; 2603 tliston.PrintStatistics(0, kTRUE); 2604 DeleteBinnings(&pliston); 2605 2606 //--------------------------------------------------- 2607 2608 //--------------------------------------------------- 2609 // Update MC data 2610 // 2611 gLog << "============================================================" 2612 << endl; 2613 gLog << "Macro CT1Analysis.C : update file '" << filenameMC 2614 << "'" << endl; 2615 2616 MTaskList tlistmc; 2617 MParList plistmc; 3063 2618 3064 2619 //------------------------------------------- … … 3066 2621 // 3067 2622 3068 MReadMarsFile read("Events", filename Data);2623 MReadMarsFile read("Events", filenameMC); 3069 2624 read.DisableAutoScheme(); 3070 2625 2626 //--------------------------- 2627 // calculate estimated energy 2628 2629 MEnergyEstParam eest2(fHilName); 2630 eest2.Add(fHilNameSrc); 2631 2632 eest2.SetCoeffA(parA); 2633 eest2.SetCoeffB(parB); 2634 3071 2635 //....................................................................... 3072 2636 3073 3074 MWriteRootFile write(filenameDataout); 2637 MWriteRootFile write(filenameMCup); 3075 2638 3076 2639 write.AddContainer("MRawRunHeader", "RunHeaders"); … … 3085 2648 write.AddContainer("MNewImagePar", "Events"); 3086 2649 3087 write.AddContainer("HadNN", "Events"); 2650 //write.AddContainer("HadNN", "Events"); 2651 write.AddContainer("HadSC", "Events"); 2652 write.AddContainer("HadRF", "Events"); 2653 2654 write.AddContainer("MEnergyEst", "Events"); 2655 2656 //----------------------------------------------------------------- 2657 2658 MFCT1SelFinal selfinal(fHilNameSrc); 2659 selfinal.SetCuts(maxhadronness, maxalpha, maxdist); 2660 selfinal.SetHadronnessName(fhadronnessName); 2661 MContinue contfinal(&selfinal); 2662 2663 2664 //***************************** 2665 // entries in MParList 2666 2667 plistmc.AddToList(&tlistmc); 2668 InitBinnings(&plistmc); 2669 2670 2671 //***************************** 2672 // entries in MTaskList 2673 2674 tlistmc.AddToList(&read); 2675 tlistmc.AddToList(&eest2); 2676 tlistmc.AddToList(&write); 2677 tlistmc.AddToList(&contfinal); 2678 2679 //***************************** 2680 2681 //------------------------------------------- 2682 // Execute event loop 2683 // 2684 MProgressBar bar; 2685 MEvtLoop evtloop; 2686 evtloop.SetParList(&plistmc); 2687 evtloop.SetProgressBar(&bar); 2688 2689 Int_t maxevents = -1; 2690 //Int_t maxevents = 1000; 2691 if ( !evtloop.Eventloop(maxevents) ) 2692 return; 2693 2694 tlistmc.PrintStatistics(0, kTRUE); 2695 DeleteBinnings(&plistmc); 2696 2697 2698 //========== end update ============================================ 2699 } 2700 2701 enparam.Close(); 2702 2703 gLog << "Macro CT1Analysis : End of Job E_EST_UP" << endl; 2704 gLog << "=======================================================" << endl; 2705 } 2706 //--------------------------------------------------------------------- 2707 2708 2709 //--------------------------------------------------------------------- 2710 // Job F_XX 2711 //========= 2712 2713 // - select g/h separation method XX 2714 // - read MC_XX2.root file 2715 // - calculate eff. collection area 2716 // - read ON_XX2.root file 2717 // - apply final cuts 2718 // - calculate flux 2719 // - write root file for ON data after final cuts (ON_XX3.root)) 2720 2721 2722 if (JobF_XX) 2723 { 2724 gLog << "=====================================================" << endl; 2725 gLog << "Macro CT1Analysis : Start of Job F_XX" << endl; 2726 2727 gLog << "" << endl; 2728 gLog << "Macro CT1Analysis : JobF_XX, WXX = " 2729 << JobF_XX << ", " << WXX << endl; 2730 2731 // type of data to be analysed 2732 //TString typeData = "ON"; 2733 //TString typeData = "OFF"; 2734 TString typeData = "MC"; 2735 gLog << "typeData = " << typeData << endl; 2736 2737 TString typeMC = "MC"; 2738 TString ext = "3.root"; 2739 TString extout = "4.root"; 2740 2741 //------------------------------ 2742 // selection of g/h separation method 2743 // and definition of final selections 2744 2745 //TString XX("NN"); 2746 //TString XX("SC"); 2747 TString XX("RF"); 2748 TString fhadronnessName("Had"); 2749 fhadronnessName += XX; 2750 gLog << "fhadronnessName = " << fhadronnessName << endl; 2751 2752 // maximum values of the hadronness, |ALPHA| and DIST 2753 Float_t maxhadronness = 0.40; 2754 Float_t maxalpha = 20.0; 2755 Float_t maxdist = 10.0; 2756 gLog << "Maximum values of hadronness, |ALPHA| and DIST = " 2757 << maxhadronness << ", " << maxalpha << ", " 2758 << maxdist << endl; 2759 2760 2761 //------------------------------ 2762 // name of MC file to be used for calculating the eff. collection areas 2763 TString filenameArea(outPath); 2764 filenameArea += typeMC; 2765 filenameArea += "_"; 2766 filenameArea += XX; 2767 filenameArea += ext; 2768 gLog << "filenameArea = " << filenameArea << endl; 2769 2770 //------------------------------ 2771 // name of file containing the eff. collection areas 2772 TString collareaName(outPath); 2773 collareaName += "area_"; 2774 collareaName += XX; 2775 collareaName += ".root"; 2776 gLog << "collareaName = " << collareaName << endl; 2777 2778 //------------------------------ 2779 // name of data file to be analysed 2780 TString filenameData(outPath); 2781 filenameData += typeData; 2782 filenameData += "_"; 2783 filenameData += XX; 2784 filenameData += ext; 2785 gLog << "filenameData = " << filenameData << endl; 2786 2787 //------------------------------ 2788 // name of output data file (after the final cuts) 2789 TString filenameDataout(outPath); 2790 filenameDataout += typeData; 2791 filenameDataout += "_"; 2792 filenameDataout += XX; 2793 filenameDataout += extout; 2794 gLog << "filenameDataout = " << filenameDataout << endl; 2795 2796 2797 //==================================================================== 2798 gLog << "-----------------------------------------------" << endl; 2799 gLog << "Start calculation of effective collection areas" << endl; 2800 MParList parlist; 2801 MTaskList tasklist; 2802 2803 //--------------------------------------- 2804 // Setup the tasks to be executed 2805 // 2806 MReadMarsFile reader("Events", filenameArea); 2807 reader.DisableAutoScheme(); 2808 2809 MFCT1SelFinal cuthadrons; 2810 cuthadrons.SetHadronnessName(fhadronnessName); 2811 cuthadrons.SetCuts(maxhadronness, maxalpha, maxdist); 2812 2813 MContinue conthadrons(&cuthadrons); 2814 2815 //MHMcCT1CollectionArea* collarea = new MHMcCT1CollectionArea(); 2816 //MHMcCT1CollectionArea* collarea; 2817 2818 MFillH filler("MHMcCT1CollectionArea", "MMcEvt"); 2819 filler.SetName("CollectionArea"); 2820 2821 //******************************** 2822 // entries in MParList 2823 2824 parlist.AddToList(&tasklist); 2825 InitBinnings(&parlist); 2826 //parlist.AddToList(collarea); 2827 2828 //******************************** 2829 // entries in MTaskList 2830 2831 tasklist.AddToList(&reader); 2832 tasklist.AddToList(&conthadrons); 2833 tasklist.AddToList(&filler); 2834 2835 //******************************** 2836 2837 //----------------------------------------- 2838 // Execute event loop 2839 // 2840 MEvtLoop magic; 2841 magic.SetParList(&parlist); 2842 2843 MProgressBar bar; 2844 magic.SetProgressBar(&bar); 2845 if (!magic.Eventloop()) 2846 return; 2847 2848 tasklist.PrintStatistics(0, kTRUE); 2849 2850 // Calculate effective collection areas 2851 // and display the histograms 2852 // 2853 2854 MHMcCT1CollectionArea *collarea = 2855 (MHMcCT1CollectionArea*)parlist.FindObject("MHMcCT1CollectionArea"); 2856 2857 collarea->CalcEfficiency(); 2858 collarea->DrawClone("lego"); 2859 2860 //--------------------------------------------- 2861 // Write histograms to a file 2862 // 2863 2864 TFile f(collareaName, "RECREATE"); 2865 collarea->GetHist()->Write(); 2866 collarea->GetHAll()->Write(); 2867 collarea->GetHSel()->Write(); 2868 f.Close(); 2869 2870 //delete collarea; 2871 2872 gLog << "Calculation of effective collection areas done" << endl; 2873 gLog << "-----------------------------------------------" << endl; 2874 //------------------------------------------------------------------ 2875 2876 2877 //************************************************************************* 2878 // 2879 // Analyse the data 2880 // 2881 2882 MTaskList tliston; 2883 MParList pliston; 2884 2885 // geometry is needed in MHHillas... classes 2886 MGeomCam *fGeom = 2887 (MGeomCam*)pliston->FindCreateObj("MGeomCamCT1", "MGeomCam"); 2888 2889 TString fHilName = "MHillas"; 2890 TString fHilNameExt = "MHillasExt"; 2891 TString fHilNameSrc = "MHillasSrc"; 2892 TString fImgParName = "MNewImagePar"; 2893 2894 //------------------------------------------- 2895 // create the tasks which should be executed 2896 // 2897 2898 MReadMarsFile read("Events", filenameData); 2899 read.DisableAutoScheme(); 2900 2901 //....................................................................... 2902 2903 2904 MWriteRootFile write(filenameDataout); 2905 2906 write.AddContainer("MRawRunHeader", "RunHeaders"); 2907 write.AddContainer("MTime", "Events"); 2908 write.AddContainer("MMcEvt", "Events"); 2909 write.AddContainer("ThetaOrig", "Events"); 2910 write.AddContainer("MSrcPosCam", "Events"); 2911 write.AddContainer("MSigmabar", "Events"); 2912 write.AddContainer("MHillas", "Events"); 2913 write.AddContainer("MHillasExt", "Events"); 2914 write.AddContainer("MHillasSrc", "Events"); 2915 write.AddContainer("MNewImagePar", "Events"); 2916 2917 //write.AddContainer("HadNN", "Events"); 3088 2918 write.AddContainer("HadSC", "Events"); 3089 2919 write.AddContainer("HadRF", "Events"); … … 3104 2934 contfinalgh.SetName("ContSelFinalgh"); 3105 2935 3106 MFillH fillhadnn("hadNN[MHHadronness]", "HadNN");3107 fillhadnn.SetName("HhadNN");2936 //MFillH fillhadnn("hadNN[MHHadronness]", "HadNN"); 2937 //fillhadnn.SetName("HhadNN"); 3108 2938 MFillH fillhadsc("hadSC[MHHadronness]", "HadSC"); 3109 2939 fillhadsc.SetName("HhadSC"); … … 3152 2982 tliston.AddToList(&write); 3153 2983 3154 tliston.AddToList(&fillhadnn);2984 //tliston.AddToList(&fillhadnn); 3155 2985 tliston.AddToList(&fillhadsc); 3156 2986 tliston.AddToList(&fillhadrf); … … 3186 3016 // 3187 3017 3188 pliston.FindObject("hadNN", "MHHadronness")->DrawClone();3018 //pliston.FindObject("hadNN", "MHHadronness")->DrawClone(); 3189 3019 pliston.FindObject("hadRF", "MHHadronness")->DrawClone(); 3190 3020 pliston.FindObject("hadSC", "MHHadronness")->DrawClone();
Note:
See TracChangeset
for help on using the changeset viewer.