Changeset 14657
- Timestamp:
- 11/19/12 10:59:53 (12 years ago)
- Location:
- fact/tools/marsmacros/mc2csv
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
fact/tools/marsmacros/mc2csv/MonteCarlo.C
r14625 r14657 600 600 } 601 601 602 603 602 void 604 603 MonteCarlo::WriteMc2Csv(TString filename) … … 616 615 OpenCsvFile(mCsvFileName); 617 616 618 WriteFile Header2Csv();619 WriteRunHeader Names2Csv();617 WriteFileInfo2Csv(); 618 WriteRunHeaderInfo2Csv(); 620 619 WriteRunHeader2Csv(); 621 WriteEventHeaderNames2Csv(); 622 WriteEventDataNames2Csv(); 620 621 WritePedestalInfo2Csv(); 622 WritePedestal2Csv(); 623 624 WriteEventHeaderInfo2Csv(); 625 WriteEventDataInfo2Csv(); 623 626 624 627 // for (int evt = 0; evt < mNumberOfEvents; evt++) … … 636 639 } 637 640 638 639 void 640 MonteCarlo::WritePixelData2Csv(int pixelID) 641 { 642 if (mVerbosityLvl > 3) cout << "...writing pixel data to csv" << endl; 643 mCsv << mEventNumber << mSeparator; 644 mCsv << mpPixel[pixelID].SoftId << mSeparator; 645 mCsv << mpPixel[pixelID].pedestal << mSeparator; 646 647 for (int i = 0; i < mNumberOfSamples; i++) 648 { 649 mCsv << mpPixel[pixelID].rawData[i] << mSeparator; 650 } 651 mCsv << endl; 652 653 return; 654 } 655 656 void 657 MonteCarlo::WriteEventData2Csv() 658 { 659 if (mVerbosityLvl > 0) cout << "...writing event data to csv" << endl; 660 661 for (int i = 0; i < mNumberOfPixels; i++) 662 { 663 WritePixelData2Csv(i); 664 } 665 666 return; 667 } 668 669 void 670 MonteCarlo::WriteEventDataNames2Csv() 671 { 672 if (mVerbosityLvl > 0) cout << "...writing event categories to csv" << endl; 673 674 mCsv << "### [RawData]" << endl; 675 mCsv << "# mEventNumber" << mSeparator; 676 mCsv << "pixelID" << mSeparator; 677 mCsv << "pixelPedestal" << mSeparator; 678 for (int i = 0; i < mNumberOfSamples; i++) 679 { 680 mCsv << "Raw_" << i << mSeparator; 681 } 682 mCsv << endl; 683 684 return; 685 } 686 687 void 688 MonteCarlo::WriteEventHeaderNames2Csv() 641 void 642 MonteCarlo::WriteFileInfo2Csv() 643 { 644 if (mVerbosityLvl > 0) cout << "...writing file header to csv" << endl; 645 646 mCsv << "### ===========================================================" 647 << endl; 648 mCsv << "### = FACT Monte Carlo =" 649 << endl; 650 mCsv << "### ===========================================================" 651 << endl; 652 mCsv << "### = FileInfo: " 653 << endl; 654 mCsv << "### = " 655 << endl; 656 mCsv << "### = Source Name: " << mSourceName << endl; 657 mCsv << "### = Number of Entries: " << mNumberOfEntries << endl; 658 mCsv << "### = Run Number: " << mRunNumber << endl; 659 mCsv << "### = Run Type : " << mRunType << endl; 660 mCsv << "### = File Number: " << mFileNumber << endl; 661 mCsv << "### ===========================================================" 662 << endl ; 663 mCsv << "###" 664 << endl ; 665 666 return; 667 } 668 669 void 670 MonteCarlo::WriteRunHeaderInfo2Csv() 671 { 672 if (mVerbosityLvl > 0) cout << "...writing run header names to csv" << endl; 673 674 mCsv << "### [RunHeader]" << endl; 675 676 mCsv << "# mNumberOfEntries" << mSeparator; 677 mCsv << "mIntendedPulsePos" << mSeparator; 678 // Csv << "mPedestalOffset" << mSeparator; 679 mCsv << "mNumSimulatedShowers" << mSeparator; 680 mCsv << "mNumberOfPixels" << mSeparator; 681 mCsv << "mNumberOfSamples" << mSeparator; 682 // mCsv << "mSampleSize" << mSeparator; 683 mCsv << "mCamDist" << mSeparator; 684 mCsv << "mSourceName" << mSeparator; 685 mCsv << "mSlopeSpectrum" << mSeparator; 686 mCsv << "mEnergyMin" << mSeparator; 687 mCsv << "mEnergyMax" << mSeparator; 688 mCsv << "mZdMin" << mSeparator; 689 mCsv << "mZdMax" << mSeparator; 690 mCsv << "mAzMin" << mSeparator; 691 mCsv << "mAzMax" << mSeparator; 692 mCsv << "mFileNumber" << mSeparator; 693 mCsv << "mRunnumber" << mSeparator; 694 mCsv << "mRunType" << endl; 695 696 return; 697 } 698 699 void 700 MonteCarlo::WriteRunHeader2Csv() 701 { 702 if (mVerbosityLvl > 0) cout << "...writing run header to csv" << endl; 703 704 mCsv << mNumberOfEntries << mSeparator; 705 mCsv << mIntendedPulsePos << mSeparator; 706 // mCsv << mPedestalOffset << mSeparator; 707 mCsv << mNumSimulatedShowers << mSeparator; 708 mCsv << mNumberOfPixels << mSeparator; 709 mCsv << mNumberOfSamples << mSeparator; 710 // mCsv << mSampleSize << mSeparator; 711 mCsv << mCamDist << mSeparator; 712 mCsv << mSourceName << mSeparator; 713 mCsv << mSlopeSpectrum << mSeparator; 714 mCsv << mEnergyMin << mSeparator; 715 mCsv << mEnergyMax << mSeparator; 716 mCsv << mZdMin << mSeparator; 717 mCsv << mZdMax << mSeparator; 718 mCsv << mAzMin << mSeparator; 719 mCsv << mAzMax << mSeparator; 720 mCsv << mFileNumber << mSeparator; 721 mCsv << mRunNumber << mSeparator; 722 mCsv << mRunType << endl; 723 724 return; 725 } 726 727 void 728 MonteCarlo::WriteEventHeaderInfo2Csv() 689 729 { 690 730 if (mVerbosityLvl > 0) cout << "...writing event header names to csv" << endl; … … 720 760 } 721 761 722 723 762 void 724 763 MonteCarlo::WriteEventHeader2Csv() … … 755 794 756 795 void 757 MonteCarlo::WriteRunHeaderNames2Csv() 758 { 759 if (mVerbosityLvl > 0) cout << "...writing run header names to csv" << endl; 760 761 mCsv << "### [RunHeader]" << endl; 762 763 mCsv << "# mNumberOfEntries" << mSeparator; 764 mCsv << "mIntendedPulsePos" << mSeparator; 765 // Csv << "mPedestalOffset" << mSeparator; 766 mCsv << "mNumSimulatedShowers" << mSeparator; 767 mCsv << "mNumberOfPixels" << mSeparator; 768 mCsv << "mNumberOfSamples" << mSeparator; 769 // mCsv << "mSampleSize" << mSeparator; 770 mCsv << "mCamDist" << mSeparator; 771 mCsv << "mSourceName" << mSeparator; 772 mCsv << "mSlopeSpectrum" << mSeparator; 773 mCsv << "mEnergyMin" << mSeparator; 774 mCsv << "mEnergyMax" << mSeparator; 775 mCsv << "mZdMin" << mSeparator; 776 mCsv << "mZdMax" << mSeparator; 777 mCsv << "mAzMin" << mSeparator; 778 mCsv << "mAzMax" << mSeparator; 779 mCsv << "mFileNumber" << mSeparator; 780 mCsv << "mRunnumber" << mSeparator; 781 mCsv << "mRunType" << endl; 782 783 return; 784 } 785 786 787 void 788 MonteCarlo::WriteRunHeader2Csv() 789 { 790 if (mVerbosityLvl > 0) cout << "...writing run header to csv" << endl; 791 792 mCsv << mNumberOfEntries << mSeparator; 793 mCsv << mIntendedPulsePos << mSeparator; 794 // mCsv << mPedestalOffset << mSeparator; 795 mCsv << mNumSimulatedShowers << mSeparator; 796 mCsv << mNumberOfPixels << mSeparator; 797 mCsv << mNumberOfSamples << mSeparator; 798 // mCsv << mSampleSize << mSeparator; 799 mCsv << mCamDist << mSeparator; 800 mCsv << mSourceName << mSeparator; 801 mCsv << mSlopeSpectrum << mSeparator; 802 mCsv << mEnergyMin << mSeparator; 803 mCsv << mEnergyMax << mSeparator; 804 mCsv << mZdMin << mSeparator; 805 mCsv << mZdMax << mSeparator; 806 mCsv << mAzMin << mSeparator; 807 mCsv << mAzMax << mSeparator; 808 mCsv << mFileNumber << mSeparator; 809 mCsv << mRunNumber << mSeparator; 810 mCsv << mRunType << endl; 811 812 return; 813 } 814 815 void 816 MonteCarlo::WriteFileHeader2Csv() 817 { 818 if (mVerbosityLvl > 0) cout << "...writing file header to csv" << endl; 819 820 mCsv << "### ===========================================================" 821 << endl; 822 mCsv << "### = FACT Monte Carlo =" 823 << endl; 824 mCsv << "### ===========================================================" 825 << endl; 826 mCsv << "### = FileInfo: " 827 << endl; 828 mCsv << "### = " 829 << endl; 830 mCsv << "### = Source Name: " << mSourceName << endl; 831 mCsv << "### = Number of Entries: " << mNumberOfEntries << endl; 832 mCsv << "### = Run Number: " << mRunNumber << endl; 833 mCsv << "### = Run Type : " << mRunType << endl; 834 mCsv << "### = File Number: " << mFileNumber << endl; 835 mCsv << "### ===========================================================" 836 << endl ; 837 mCsv << "###" 838 << endl ; 839 840 return; 841 } 842 796 MonteCarlo::WriteEventDataInfo2Csv() 797 { 798 if (mVerbosityLvl > 0) cout << "...writing event categories to csv" << endl; 799 800 mCsv << "### [RawData]" << endl; 801 mCsv << "# mEventNumber" << mSeparator; 802 mCsv << "pixelID" << mSeparator; 803 // mCsv << "pixelPedestal" << mSeparator; 804 for (int i = 0; i < mNumberOfSamples; i++) 805 { 806 mCsv << "Raw_" << i << mSeparator; 807 } 808 mCsv << endl; 809 810 return; 811 } 812 813 void 814 MonteCarlo::WriteEventData2Csv() 815 { 816 if (mVerbosityLvl > 0) cout << "...writing event data to csv" << endl; 817 818 for (int i = 0; i < mNumberOfPixels; i++) 819 { 820 WritePixelData2Csv(i); 821 } 822 823 return; 824 } 825 826 void 827 MonteCarlo::WritePixelData2Csv(int pixelID) 828 { 829 if (mVerbosityLvl > 3) cout << "...writing pixel data to csv" << endl; 830 mCsv << mEventNumber << mSeparator; 831 mCsv << mpPixel[pixelID].SoftId << mSeparator; 832 // mCsv << mpPixel[pixelID].pedestal << mSeparator; 833 834 for (int i = 0; i < mNumberOfSamples; i++) 835 { 836 mCsv << mpPixel[pixelID].rawData[i] << mSeparator; 837 } 838 mCsv << endl; 839 840 return; 841 } 842 843 void 844 MonteCarlo::WritePedestalInfo2Csv() 845 { 846 mCsv << "### [Pedestal info]" << endl; 847 mCsv << "# SoftID" ; 848 mCsv << mSeparator ; 849 mCsv << "Pedestal" << endl; 850 } 851 852 void 853 MonteCarlo::WritePedestal2Csv() 854 { 855 if (mVerbosityLvl > 3) cout << "...writing pedestal info to csv" << endl; 856 857 for (int pixelID = 0; pixelID < mNumberOfPixels; pixelID++) 858 { 859 mCsv << mpPixel[pixelID].SoftId; 860 mCsv << mSeparator; 861 mCsv << mpPixel[pixelID].pedestal; 862 mCsv << endl; 863 } 864 mCsv << endl; 865 866 return; 867 } 843 868 844 869 … … 847 872 // 848 873 // 849 850 851 874 // FADC samples (hi gain) of all pixels 852 875 // This is an array of Byte_t variables. The value of a FADC sample has a … … 859 882 860 883 861 /* 862 int extractMC() 863 { 864 865 TTree *tree = (TTree*)f.Get("Events"); 866 867 // MArrayB *array = NULL; 868 869 const float dconv = 2000/4096; 870 871 unsigned short *short_array; 872 TH1F histo("histo", "histo", 150, 0, 150); 873 874 TCanvas *canvas = new TCanvas("canvas", "canvas", 0, 0, 400, 400 ); 875 canvas->cd(); 876 tree->SetBranchAddress("MRawEvtData.", &branch1); 877 878 tree->GetEntry(22); 879 880 cout << "Branch1 " << branch1 << endl; 881 882 array = branch1->GetSamples(); 883 884 885 for(int i = 0; i < 150; i++){ 886 cout << "i_" << i << "\t 1. " << short_array[i] ; 887 short_array[i] = le16toh(short_array[i]); 888 889 // uint16_t htobe16(uint16_t host_16bits); 890 // uint16_t htole16(uint16_t host_16bits); 891 // uint16_t be16toh(uint16_t big_endian_16bits); 892 893 894 cout << "\t 2. " << short_array[i] ; 895 cout << "\t arr. " << (int)array[2*i] << " " << (int)array[2*i+1] << endl; 896 897 histo.SetBinContent(i, short_array[i]-1000); 898 } 899 histo.DrawCopy(); 900 canvas->Modified(); 901 canvas->Update(); 902 903 // int m = branch1->GetNumHiGainSamples(); 904 // int n = branch1->GetNumBytesPerSample(); 905 906 cout << "GetNumHiGainSamples " << branch1->GetNumHiGainSamples() 907 << " GetNumBytesPerSample " << branch1->GetNumBytesPerSample() << endl; 908 909 // tree->GetEntry(2); 910 911 // array = branch1->GetSamples(); 912 913 // cout << "Branch2 " << branch1 << endl; 914 915 //// for(int i = 1439; i < 1441; i++){ 916 //// cout << "Pixel: " << i << endl; 917 918 // for(int j = 431950; j < 432020; j++){ 919 // cout << "Sl: " << j << "\t" ; 920 // cout << (unsigned short) array[j] << "\t"; 921 // if ( j%5 == 0 ) cout <<endl; 922 923 // } 924 // cout << endl; 925 //// } 926 927 //// tree->SetBranchAddress("MRawEvtData.fHiGainFadcSamples.fArray", array); 928 929 } 930 931 */ 932 933 934 935 884 885 -
fact/tools/marsmacros/mc2csv/MonteCarlo.h
r14625 r14657 113 113 void WritePixelData2Csv(int pixelID); 114 114 void WriteEventData2Csv(); 115 void WriteEventData Names2Csv();116 void WriteEventHeader Names2Csv();115 void WriteEventDataInfo2Csv(); 116 void WriteEventHeaderInfo2Csv(); 117 117 void WriteEventHeader2Csv(); 118 void WriteRunHeader Names2Csv();118 void WriteRunHeaderInfo2Csv(); 119 119 void WriteRunHeader2Csv(); 120 void WriteFileHeader2Csv(); 120 void WriteFileInfo2Csv(); 121 void WritePedestal2Csv(); 122 void WritePedestalInfo2Csv(); 121 123 122 124
Note:
See TracChangeset
for help on using the changeset viewer.