无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

ROOT36: 波形分析代碼2

2023-08-29 12:39 作者:guanming-yf  | 我要投稿

#include "iostream"

using namespace std;

void ana2(){

? // 1. read the WFM.root file, and get data

? TFile *ifile = new TFile( "../root35/WFM.root", "read" );

? TTree *itree = (TTree*)ifile->Get( "WFM" );

? double timestamp =0.0;

? vector<double> *time = 0;

? vector<double> *channel1 = 0;

? vector<double> *channel2 = 0;

? itree->SetBranchAddress( "TimeStamp", &timestamp );

? itree->SetBranchAddress( "Time", &time );

? itree->SetBranchAddress( "Channel1", &channel1 );

? itree->SetBranchAddress( "Channel2", &channel2 );

??

? // 2. analyze the waveform and get some charateristic values, ex. timestamp, peakenergy, and flag

? // energy = peakheight *511 / 0.31 [keV]

? // time = 5*timeindex [ns]

? double TimeStamp;

? double PeakHeight1;

? double PeakEnergy1;

? double PeakHeight2;

? double PeakEnergy2;

? double PeakTime1;

? double PeakTime2;

? bool Flag_Coin;

? const int N = itree->GetEntries();

? TFile *ofile = new TFile( "WFM_Analysis.root", "recreate" );

? TTree *otree = new TTree( "WFM", "analyzed WFM" );

? otree->Branch( "TimeStamp", &TimeStamp, "TimeStamp/D" );

? otree->Branch( "PeakEnergy1", &PeakEnergy1, "PeakEnergy1/D" ?);

? otree->Branch( "PeakEnergy2", &PeakEnergy2, "PeakEnergy2/D" ?);

? otree->Branch( "PeakTime1", &PeakTime1, "PeakTime1/D" ?);

? otree->Branch( "PeakTime2", &PeakTime2, "PeakTime2/D" ?);

? otree->Branch( "Flag_Coin", &Flag_Coin, "Flag_Coin/O" );

? //3 . save the analyzed data into a new file WFM_analysis.root

? for( int j=0; j<N; j++ ){

? ? // j is the number-th of event

? ? cout << "Analyzing " << j << "-th event" <<"\r" << flush;

? ??

? ? itree->GetEntry(j);

? ? TimeStamp = timestamp;

? ? auto pk1 = std::min_element( channel1->begin(), channel1->end() );

? ? PeakHeight1 = *pk1;

? ? PeakEnergy1 = -PeakHeight1*(511/0.31);

? ? auto PeakIndex1 = std::distance( channel1->begin(), pk1 );

? ? PeakTime1 = 5*PeakIndex1;

? ? auto pk2 = std::min_element( channel2->begin(), channel2->end() );

? ? PeakHeight2 = *pk2;

? ? PeakEnergy2 = -PeakHeight2*(511/0.31);

? ? auto PeakIndex2 = std::distance( channel2->begin(), pk2 );

? ? PeakTime2 = 5*PeakIndex2;

? ? if( (450<PeakEnergy2&&PeakEnergy2<560)&&(400<PeakTime2&&PeakTime2<700) ){

? ? ? Flag_Coin = 1;

? ? }else{

? ? ? Flag_Coin = 0;

? ? }

? ??

? ? otree->Fill();

? }

? cout << endl;

? otree->Write();

? ofile->Close();

}


ROOT36: 波形分析代碼2的評論 (共 條)

分享到微博請遵守國家法律
连平县| 嘉义市| 高碑店市| 武鸣县| 呼玛县| 宁海县| 嘉鱼县| 平阴县| 如东县| 麻阳| 弥勒县| 平利县| 肇州县| 南宫市| 长武县| 百色市| 安远县| 衡水市| 昌都县| 安阳市| 探索| 丰顺县| 乌兰察布市| 鞍山市| 赫章县| 利辛县| 永寿县| 阿勒泰市| 九龙县| 牡丹江市| 丁青县| 丹阳市| 白水县| 长垣县| 平凉市| 兴化市| 万盛区| 普陀区| 沅江市| 石阡县| 丰顺县|