本文整理汇总了C++中RooDataSet::getRange方法的典型用法代码示例。如果您正苦于以下问题:C++ RooDataSet::getRange方法的具体用法?C++ RooDataSet::getRange怎么用?C++ RooDataSet::getRange使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RooDataSet
的用法示例。
在下文中一共展示了RooDataSet::getRange方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
void read() {
// Open File
//TFile *datafile = TFile::Open("~/Documents/uni/LHCb_CharmSummerProj/Gedcode/baryon-lifetimes-2015/data/run-II-data/datafileLambda_TAUmin200fs_max2200fs_Mmin2216_max2356.root");
//TFile *datafile = TFile::Open("~/Documents/uni/LHCb_CharmSummerProj/Gedcode/baryon-lifetimes-2015/data/run-II-data/datafileLambda_TAUmin200fs_max2200fs_Mmin2216_max2356_CutIPCHI2lt3.root");
TFile *datafile = TFile::Open("~/Documents/uni/LHCb_CharmSummerProj/learning_root/DataSetLambda_TAUmin0002_max0022.root");
//TFile *datafile = TFile::Open("~/Documents/uni/LHCb_CharmSummerProj/learning_root/DataSetfromGed_fit_data_wSWeight.root");
// Define dataset
RooDataSet* ds = (RooDataSet*)datafile->Get("ds") ;
// Define TAU variable, get limits.
RooRealVar Lambda_cplus_TAU("Lambda_cplus_TAU","Lambda_cplus_TAU",0.0002 ,0.0022 ,"ns") ; //real range of interest is [0.00025, 0.002], this is defined later.
double highestTAU;
double lowestTAU;
ds->getRange(Lambda_cplus_TAU, lowestTAU, highestTAU);
// Define Mass variable, get limits.
RooRealVar Lambda_cplus_M("Lambda_cplus_M","Lambda_cplus_M",2216 ,2356, "GeV") ;
double highestM;
double lowestM;
ds->RooAbsData::getRange(Lambda_cplus_M, lowestM, highestM) ;
// Define IPCHI2 variable
RooRealVar Lambda_cplus_IPCHI2_OWNPV("Lambda_cplus_IPCHI2_OWNPV","Lambda_cplus_IPCHI2_OWNPV",-100 ,100) ;
double highestIPCHI2_OWNPV;
double lowestIPCHI2_OWNPV;
ds->RooAbsData::getRange(Lambda_cplus_IPCHI2_OWNPV, lowestIPCHI2_OWNPV, highestIPCHI2_OWNPV) ;
//Lambda_cplus_TAU.setRange("R1",0.00018, 0.0012);
// Print to Screen
cout<<endl<<endl<<"************info************"<<endl;
cout<< "Lowest lifetime value in dataset = "<<lowestTAU<<endl;
cout<< "Highest lifetime value in dataset = "<<highestTAU<<endl;
cout<< "Lowest mass value in dataset (should be: 2216)= "<<lowestM<<endl;
cout<< "Highest mass value in dataset (should be: 2356)= "<<highestM<<endl;
cout<< "Lowest IPCHI2_OWNPV value in dataset = "<<lowestIPCHI2_OWNPV<<endl;
cout<< "Highest IPCHI2_OWNPV value in dataset = "<<highestIPCHI2_OWNPV<<endl;
cout<<"number of events: "<<endl ;
ds->Print(); //number of events in dataset
//rmodel->Print(); //results
//cout<<"Chi squared ="<<chi2<<endl ;
}
示例2: main
int main(int argc, char* argv[])
{
string name;
for(Int_t i=1;i<argc;i++){
char *pchar = argv[i];
switch(pchar[0]){
case '-':{
switch(pchar[1]){
case 'n':
name = argv[i+1];
cout << "Name of the configuration key " << name << endl;
break;
}
}
}
}
Bool_t doFit = kFALSE;
Bool_t extract = kFALSE;
Bool_t doFrac = kFALSE;
Bool_t doPlots = kTRUE;
Bool_t doChi2 = kFALSE;
BaBarStyle p;
p.SetBaBarStyle();
gROOT->GetStyle("BABAR")->SetPalette(1);
gROOT->GetStyle("BABAR")->SetPadTopMargin(0.04);
gROOT->GetStyle("BABAR")->SetPadLeftMargin(0.17);
gROOT->GetStyle("BABAR")->SetPadBottomMargin(0.19);
gROOT->GetStyle("BABAR")->SetTitleSize(0.08,"xyz"); // set the 3 axes title size
//define DalitzSpace for generation
EvtPDL pdl;
pdl.readPDT("evt.pdl");
EvtDecayMode mode("D0 -> K- pi+ pi0");
EvtDalitzPlot dalitzSpace(mode);
RooRealVar tau("tau","tau",0.4099);
RooRealVar m2Kpi_d0mass("m2Kpi_d0mass","m2Kpi_d0mass",1.,dalitzSpace.qAbsMin(EvtCyclic3::AB),dalitzSpace.qAbsMax(EvtCyclic3::AB));
RooRealVar m2Kpi0_d0mass("m2Kpi0_d0mass","m2Kpi0_d0mass",1.,dalitzSpace.qAbsMin(EvtCyclic3::AC),dalitzSpace.qAbsMax(EvtCyclic3::AC));
RooRealVar m2pipi0_d0mass("m2pipi0_d0mass","m2pipi0_d0mass",1.,dalitzSpace.qAbsMin(EvtCyclic3::BC),dalitzSpace.qAbsMax(EvtCyclic3::BC));
RooRealVar d0Lifetime("d0Lifetime","d0Lifetime",-2.,4.);
RooRealVar d0LifetimeErr("d0LifetimeErr","d0LifetimeErr",0.0000001,0.5);
RooCategory D0flav("D0flav","D0flav");
D0flav.defineType("D0",-1);
D0flav.defineType("antiD0",1);
RooRealVar scalefact1("scalefact1","scalefact1",3.20);
RooRealVar scalefact2("scalefact2","scalefact2",1.42);
RooRealVar scalefact3("scalefact3","scalefact3",0.94);
RooRealVar c1("c1","c1",-2.,2.);
RooRealVar c2("c2","c2",-2.,2.);
RooUnblindOffset c1_unblind("c1_unblind","c1 (unblind)","VaffanculoS",1.,c1) ;
RooUnblindOffset c2_unblind("c2_unblind","c2 (unblind)","VaffanculoS",1.,c2) ;
TFile fWS("DataSet_out_tmp.root");
gROOT->cd();
RooDataSet *data = (RooDataSet*)fWS.Get("fulldata");
RooDataSet *data_clean = (RooDataSet*)data->reduce("d0LifetimeErr < 0.5 && d0Lifetime > -2. && d0Lifetime < 4. && deltaMass > 0.1449 && deltaMass < 0.1459");
RooDataSet *dataWS_2 = (RooDataSet*)data_clean->reduce("isWS == 1");
RooDataSet *dataWS = (RooDataSet*)dataWS_2->reduce("d0Mass > 1.8495 && d0Mass < 1.8795");
RooDataSet *RSdata = (RooDataSet*)data_clean->reduce("isWS == 0 && d0Mass > 1.8495 && d0Mass < 1.8795");
Double_t low12,hig12,low13,hig13,low23,hig23;
Bool_t m12bool = dataWS->getRange(m2Kpi_d0mass,low12,hig12);
Bool_t m13bool = dataWS->getRange(m2Kpi0_d0mass,low13,hig13);
Bool_t m23bool = dataWS->getRange(m2pipi0_d0mass,low23,hig23);
m2Kpi_d0mass.setRange(low12,hig12);
m2Kpi0_d0mass.setRange(low13,hig13);
m2pipi0_d0mass.setRange(low23,hig23);
m2Kpi_d0mass.setBins(10);
m2Kpi0_d0mass.setBins(10);
d0Lifetime.setBins(8);
d0LifetimeErr.setBins(10);
m2pipi0_d0mass.setBins(10);
Float_t total = pow(dalitzSpace.bigM(),2) + pow(dalitzSpace.mA(),2) + pow(dalitzSpace.mB(),2) + pow(dalitzSpace.mC(),2);
RooRealVar totalm("totalm","totalm",total);
RooFormulaVar mass13a("mass13a","@[email protected]@2",RooArgSet(totalm,m2Kpi_d0mass,m2pipi0_d0mass));
//Construct signal pdf
RooRealVar bias("bias","bias",0.0047) ;
RooRealVar one("one","one",1.);
//consider the resolution or the truth model
RooGaussModel gm1("gm1","gauss model 1",d0Lifetime,bias,d0LifetimeErr,one,scalefact1) ;
RooGaussModel gm2("gm2","gauss model 2",d0Lifetime,bias,d0LifetimeErr,one,scalefact2) ;
RooGaussModel gm3("gm3","gauss model 3",d0Lifetime,bias,d0LifetimeErr,one,scalefact3) ;
RooRealVar N1("N1","N1",0.0052);
RooRealVar N2("N2","N2",0.179);
RooFormulaVar f2("f2","f2","([email protected])*@1",RooArgList(N1,N2));
RooFormulaVar f3("f3","f3","([email protected])*([email protected])",RooArgList(N1,N2));
//.........这里部分代码省略.........