本文整理汇总了C++中TDatime::GetMonth方法的典型用法代码示例。如果您正苦于以下问题:C++ TDatime::GetMonth方法的具体用法?C++ TDatime::GetMonth怎么用?C++ TDatime::GetMonth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TDatime
的用法示例。
在下文中一共展示了TDatime::GetMonth方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateTrainDir
bool CreateTrainDir(AliAnalysisAlien *plugin, const TMap &lookup){
//
// Make train data dir name and JDL, C and sh file names
//
TObjArray infos;
bool found = FindDataSample(lookup, infos);
if(!found){
printf("sample %s not found\n", g_sample.Data());
return false;
}
TString type; GetData(infos, type, 2);
// check whether the train dir is already provided or needs to be specified
if(!g_train_dir.Length()){
// Query number of train runs before
const char *gridhome = gGrid->GetHomeDirectory();
const char gridoutdir[256];
sprintf(gridoutdir, "%sAnalysis_pPb/%s", gridhome, type.Data());
TGridResult *trainruns = gGrid->Ls(gridoutdir);
int nruns = trainruns->GetEntries();
// Get Date and time
TDatime time;
g_train_dir = Form("%d_%d%02d%02d_%02d%02d", nruns, time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute());
}
plugin->SetGridWorkingDir(Form("Analysis_pPb/%s/%s", type.Data(), g_train_dir.Data()));
plugin->SetJDLName(Form("TPCTOFanalysispPb_%s_%s.jdl", type.Data(), g_train_dir.Data()));
plugin->SetExecutable(Form("TPCTOFanalysispPb_%s_%s.sh", type.Data(), g_train_dir.Data()));
plugin->SetAnalysisMacro(Form("TPCTOFanalysispPb_%s_%s.C", type.Data(), g_train_dir.Data()));
return true;
}
示例2: calculate_balance
void TExpenser::calculate_balance() {
fBalanceXMLParser -> selectMainNode();
fBalanceXMLParser -> selectNode("entry");
TString balance = fBalanceXMLParser -> getNodeContent("amount");
fBalanceXMLParser -> selectNode("date");
TString balance_year = fBalanceXMLParser -> getNodeContent("year");
TString balance_month = fBalanceXMLParser -> getNodeContent("month");
fLastStatusLabel -> SetText(balance_month+"/"+balance_year+": " + balance + " eur");
// now calculate the current balance (last - expenses since the last)
TDatime time;
fXMLParser->selectMainNode();
fXMLParser->selectNode("expense");
Double_t expenses_since_last_status = 0;
while (fXMLParser->getCurrentNode() != 0) {
XMLNodePointer_t current_node = fXMLParser->getCurrentNode();
fXMLParser -> selectNode("date");
TString year = fXMLParser -> getNodeContent("year");
TString month = fXMLParser -> getNodeContent("month");
fXMLParser -> setCurrentNode(current_node);
bool year_more_recent = (year.Atoi() > balance_year.Atoi());
bool year_same = (year.Atoi() == balance_year.Atoi());
bool month_more_recent = (month.Atoi()>=balance_month.Atoi());
bool expense_more_recent_than_balance = (year_more_recent || (year_same && month_more_recent));
if ( expense_more_recent_than_balance && fXMLParser -> getNodeContent("withdrawn") == "Yes" ) {
expenses_since_last_status += fXMLParser -> getNodeContent("amount").Atof();
}
fXMLParser->selectNextNode("expense");
}
// calculate total income since last balance
fIncomeXMLParser->selectMainNode();
fIncomeXMLParser->selectNode("entry");
Double_t income_since_last_status = 0;
while (fIncomeXMLParser->getCurrentNode() != 0) {
XMLNodePointer_t current_node = fIncomeXMLParser->getCurrentNode();
fIncomeXMLParser -> selectNode("date");
TString year = fIncomeXMLParser -> getNodeContent("year");
TString month = fIncomeXMLParser -> getNodeContent("month");
fIncomeXMLParser -> setCurrentNode(current_node);
if ( ( (month.Atoi()>=balance_month.Atoi()) && (year.Atoi()==balance_year.Atoi()) ) || (year.Atoi()>balance_year.Atoi()) ) {
income_since_last_status += fIncomeXMLParser -> getNodeContent("amount").Atof();
}
fIncomeXMLParser->selectNextNode("entry");
}
Double_t new_balance = balance.Atof() - expenses_since_last_status + income_since_last_status;
fCurrentStatusLabel -> SetText(toStr(time.GetDay())+"/"+toStr(time.GetMonth())+"/"+toStr(time.GetYear())+": " + toStr(new_balance,2) + " eur");
}
示例3: drawStatisticsMonthTab
void TExpenser::drawStatisticsMonthTab() {
fStatisticsTab = fTab->AddTab("Statistics (Month)");
fStatisticsTab -> SetLayoutManager(new TGHorizontalLayout(fStatisticsTab));
TRootEmbeddedCanvas * fEcanvas = new TRootEmbeddedCanvas("Ecanvas",fStatisticsTab, CANVAS_WIDTH, CANVAS_HEIGHT);
fStatisticsTab -> AddFrame(fEcanvas, new TGLayoutHints(kLHintsCenterX, 10,10,10,1));
fCanvas = fEcanvas->GetCanvas();
fCategoriesHistogram = new TH1F("fCategoriesHistogram", "Expenses for each category for a given month", NCATEGORIES, 0, NCATEGORIES);
fCategoriesHistogram -> SetStats(0);
TGVerticalFrame *vframe = new TGVerticalFrame(fStatisticsTab, 60, 40);
fStatisticsTab -> AddFrame(vframe, new TGLayoutHints(kLHintsCenterX,2,2,2,2));
// month selector
fStatisticsMonth = new TGComboBox(vframe);
for (unsigned i = 0; i < 12; i++) {
fStatisticsMonth->AddEntry(MONTHS[i], i+1);
}
fStatisticsMonth->Resize(DROPDOWN_MENU_WIDTH, DROPDOWN_MENU_HEIGHT);
TDatime time;
fStatisticsMonth->Select(time.GetMonth());
vframe->AddFrame(fStatisticsMonth, new TGLayoutHints(kLHintsLeft,5,10,5,5));
// year selector
fStatisticsYear = new TGComboBox(vframe);
for (unsigned i = FIRST_YEAR; i <= LAST_YEAR; i++) {
fStatisticsYear->AddEntry(toStr(i), i+1-FIRST_YEAR);
}
fStatisticsYear->Resize(DROPDOWN_MENU_WIDTH, DROPDOWN_MENU_HEIGHT);
fStatisticsYear->Select(time.GetYear()-FIRST_YEAR+1);
vframe->AddFrame(fStatisticsYear, new TGLayoutHints(kLHintsLeft,5,10,5,5));
// update-button
TGTextButton * update_button = new TGTextButton(vframe,"&Apply");
update_button -> SetFont("-*-times-bold-r-*-*-28-*-*-*-*-*-*-*");
update_button -> Connect("Clicked()", "TExpenser", this, "calculate_monthly()");
vframe -> AddFrame(update_button, new TGLayoutHints(kLHintsLeft,5,5,3,4));
// monthly sum
TColor *color = gROOT->GetColor(kBlue);
TGFont *font = gClient->GetFont("-*-times-bold-r-*-*-22-*-*-*-*-*-*-*");
fTotalMonthlyExpenses = new TGLabel(vframe, "");
vframe->AddFrame(fTotalMonthlyExpenses, new TGLayoutHints(kLHintsNormal, 5, 5, 3, 4));
fTotalMonthlyExpenses->SetTextColor(color);
fTotalMonthlyExpenses -> SetTextFont(font);
calculate_monthly();
}
示例4: checkPullTree
//.........这里部分代码省略.........
UShort_t tpcSignalN = 0; // Number of clusters used for dEdx
UChar_t pidType = 0;
Int_t fMultiplicity = 0;
//Double_t phiPrime = 0;
// Only activate the branches of interest to save processing time
tree->SetBranchStatus("*", 0); // Disable all branches
tree->SetBranchStatus("pTPC", 1);
tree->SetBranchStatus("dEdx", 1);
tree->SetBranchStatus("dEdxExpected", 1);
tree->SetBranchStatus("tanTheta", 1);
tree->SetBranchStatus("tpcSignalN", 1);
tree->SetBranchStatus("pidType", 1);
//tree->SetBranchStatus("phiPrime", 1);
if (isNonPP)
tree->SetBranchStatus("fMultiplicity", 1);
tree->SetBranchAddress("dEdx", &dEdx);
tree->SetBranchAddress("dEdxExpected", &dEdxExpected);
tree->SetBranchAddress("tanTheta", &tanTheta);
tree->SetBranchAddress("tpcSignalN", &tpcSignalN);
tree->SetBranchAddress("pTPC", &pTPC);
tree->SetBranchAddress("pidType", &pidType);
//tree->SetBranchAddress("phiPrime", &phiPrime);
if (isNonPP)
tree->SetBranchAddress("fMultiplicity", &fMultiplicity);
// Output file
TDatime daTime;
TString savefileName = Form("%s%s_checkPullSigma_%04d_%02d_%02d__%02d_%02d.root", fileNameTree.ReplaceAll(".root", "").Data(),
recalculateExpecteddEdx ? "_recalcdEdx" : "",
daTime.GetYear(), daTime.GetMonth(), daTime.GetDay(), daTime.GetHour(), daTime.GetMinute());
TFile* fSave = TFile::Open(Form("%s/%s", pathTree.Data(), savefileName.Data()), "recreate");
if (!fSave) {
std::cout << "Failed to open save file \"" << Form("%s/%s", pathTree.Data(), savefileName.Data()) << "\"!" << std::endl;
return -1;
}
const Double_t pBoundLow = 0.1;
const Double_t pBoundUp = 5;
const Int_t nBins1 = TMath::Ceil(180 / downScaleFactor);
const Int_t nBins2 = TMath::Ceil(100 / downScaleFactor);
const Int_t nBins3 = TMath::Ceil(60 / downScaleFactor);
const Int_t nPbinsForMap = nBins1 + nBins2 + nBins3;
Double_t binsPforMap[nPbinsForMap + 1];
Double_t binWidth1 = (1.0 - pBoundLow) / nBins1;
Double_t binWidth2 = (2.0 - 1.0 ) / nBins2;
Double_t binWidth3 = (pBoundUp - 2.0) / nBins3;
for (Int_t i = 0; i < nBins1; i++) {
binsPforMap[i] = pBoundLow + i * binWidth1;
}
for (Int_t i = nBins1, j = 0; i < nBins1 + nBins2; i++, j++) {
binsPforMap[i] = 1.0 + j * binWidth2;
}
for (Int_t i = nBins1 + nBins2, j = 0; i < nBins1 + nBins2 + nBins3; i++, j++) {
binsPforMap[i] = 2.0 + j * binWidth3;
}
binsPforMap[nPbinsForMap] = pBoundUp;
示例5: AverageDmesonRaa
//____________________________________________________________
void AverageDmesonRaa( const char* fD0Raa="", const char* fD0ppRef="",
const char* fDplusRaa="", const char* fDplusppRef="",
const char* fDstarRaa="", const char* fDstarppRef="",
const char* outfile="", Int_t averageOption=kRelativeStatUnc, Int_t cc=kpPb0100, Int_t ccestimator=kV0M,
Bool_t isReadAllPPUnc=false, Bool_t isPPRefExtrapD0=false, Bool_t isPPRefExtrapDplus=false, Bool_t isPPRefExtrapDstar=false)
{
FILE *resultFile;
TString foutname = "Average";
if(fD0Raa) foutname += "Dzero";
if(fDplusRaa) foutname += "Dplus";
if(fDstarRaa) foutname += "Dstar";
if(averageOption==kRelativeStatUnc) foutname+= "_RelStatUncWeight";
else if(averageOption==kAbsoluteStatUnc) foutname+= "_AbsStatUncWeight";
else if(averageOption==kRelativeStatUncorrWoPidSyst) foutname+= "_RelStatUncorrWeight";
else if(averageOption==kRelativeStatRawYieldSyst) foutname+= "_RelStatRawYieldSystWeight";
if(!useExtrapPPref) foutname+= "_NoExtrapBins";
TDatime d;
TString ndate = Form("%02d%02d%04d",d.GetDay(),d.GetMonth(),d.GetYear());
resultFile = fopen( Form("%s_result_%s.txt",foutname.Data(),ndate.Data()),"w");
fprintf(resultFile,"Ptmin (GeV/c) Ptmax (GeV/c) Raa(Daverage) +-(stat) +(syst) - (syst) \n\n");
// Define here all needed histograms/graphs to be retrieved
TH1D *hDmesonRaa[3];
TH1I *hCombinedReferenceFlag[3];
TGraphAsymmErrors *gDataSystematicsPP[3], *gDataSystematicsAB[3];
TGraphAsymmErrors *gScalingUncPP[3];
TGraphAsymmErrors *gRABFeedDownSystematicsElossHypothesis[3];
TGraphAsymmErrors *gRAB_GlobalSystematics[3];
TH1D *hDmesonPPRef[3], *hDmesonPPYieldExtrUnc[3], *hDmesonPPCutVarUnc[3], *hDmesonPPIDPUnc[3], *hDmesonPPMCPtUnc[3];
// Define here all output histograms/graphs
TH1D *hDmesonAverageRAB = new TH1D("hDmesonAverageRAB","D meson average Raa ; p_{T} (GeV/c)",nbins,ptbinlimits);
TGraphAsymmErrors *gRABNorm;
TGraphAsymmErrors *gRAB_DmesonAverage_GlobalSystematics = new TGraphAsymmErrors(0);
TGraphAsymmErrors *gRAB_DmesonAverage_FeedDownSystematicsElossHypothesis = new TGraphAsymmErrors(0);
TGraphAsymmErrors *gRAB_DmesonAverage_ScalingSystematicsPP = new TGraphAsymmErrors(0);
TGraphAsymmErrors *gRAB_DmesonAverage_DataSystematicsPP = new TGraphAsymmErrors(0);
TGraphAsymmErrors *gRAB_DmesonAverage_DataSystematicsAB = new TGraphAsymmErrors(0);
TGraphAsymmErrors *gRAB_DmesonAverage_TrackingSystematicsPP = new TGraphAsymmErrors(0);
TGraphAsymmErrors *gRAB_DmesonAverage_TrackingSystematicsAB = new TGraphAsymmErrors(0);
gRAB_DmesonAverage_GlobalSystematics->SetNameTitle("gRAB_DmesonAverage_GlobalSystematics","DmesonAverage GlobalSystematics");
gRAB_DmesonAverage_FeedDownSystematicsElossHypothesis->SetNameTitle("gRAB_DmesonAverage_FeedDownSystematicsElossHypothesis","DmesonAverage FeedDownSystematicsElossHypothesis");
gRAB_DmesonAverage_ScalingSystematicsPP->SetNameTitle("gRAB_DmesonAverage_ScalingSystematicsPP","DmesonAverage Scaling uncertainty PP");
gRAB_DmesonAverage_DataSystematicsPP->SetNameTitle("gRAB_DmesonAverage_DataSystematicsPP","DmesonRaaAverage DataSystematicsPP - tracking uncertainty PP");
gRAB_DmesonAverage_DataSystematicsAB->SetNameTitle("gRAB_DmesonAverage_DataSystematicsAB","DmesonRaaAverage DataSystematicsAB - tracking uncertainty AB");
gRAB_DmesonAverage_TrackingSystematicsPP->SetNameTitle("gRAB_DmesonAverage_TrackingSystematicsPP","DmesonRaaAverage tracking uncertainty PP");
gRAB_DmesonAverage_TrackingSystematicsAB->SetNameTitle("gRAB_DmesonAverage_TrackingSystematicsAB","DmesonRaaAverage tracking uncertainty AB");
const char *filenamesRaa[3] = { fD0Raa, fDplusRaa, fDstarRaa };
const char *filenamesReference[3] = { fD0ppRef, fDplusppRef, fDstarppRef };
const char *filenamesSuffixes[3] = { "Dzero", "Dplus", "Dstar" };
Bool_t isDmeson[3] = { true, true, true };
if(strcmp(filenamesRaa[0],"")==0) { cout<<" Dzero not set, error"<<endl; return; }
//
// Get Raa file histos and graphs
//
AliHFSystErr *ppSyst[3];
AliHFSystErr *ABSyst[3];
Double_t ppTracking[3][nbins], ppSystRawYield[3][nbins], ppSystCutVar[3][nbins], ppSystPid[3][nbins];
Double_t ABTracking[3][nbins], ABSystRawYield[3][nbins], ABSystCutVar[3][nbins], ABSystPid[3][nbins];
for(Int_t j=0; j<3; j++) {
if(strcmp(filenamesRaa[j],"")==0) { isDmeson[j]=false; continue; }
cout<<" Reading file "<<filenamesRaa[j]<<"..."<<endl;
TFile *fDRaa = TFile::Open(filenamesRaa[j],"read");
if(!fDRaa){ cout<<" Error on file !!!!!"<<filenamesRaa[j]<<endl; return; }
hDmesonRaa[j] = (TH1D*)fDRaa->Get("hRABvsPt");
hDmesonRaa[j]->SetName(Form("%s_%s",hDmesonRaa[j]->GetName(),filenamesSuffixes[j]));
// cout<< hDmesonRaa[j]<< " bins="<< hDmesonRaa[j]->GetNbinsX()<<", value bin 1 ="<<hDmesonRaa[j]->GetBinContent(1)<<endl;
if(j==0) gRABNorm = (TGraphAsymmErrors*)fDRaa->Get("gRAB_Norm");
//
gDataSystematicsPP[j] = (TGraphAsymmErrors*)fDRaa->Get("gRAB_DataSystematicsPP");
gDataSystematicsPP[j]->SetName(Form("%s_%s",gDataSystematicsPP[j]->GetName(),filenamesSuffixes[j]));
gDataSystematicsAB[j] = (TGraphAsymmErrors*)fDRaa->Get("gRAB_DataSystematicsAB");
gDataSystematicsAB[j]->SetName(Form("%s_%s",gDataSystematicsAB[j]->GetName(),filenamesSuffixes[j]));
gRABFeedDownSystematicsElossHypothesis[j] = (TGraphAsymmErrors*)fDRaa->Get("gRAB_FeedDownSystematicsElossHypothesis");
gRABFeedDownSystematicsElossHypothesis[j]->SetName(Form("%s_%s",gRABFeedDownSystematicsElossHypothesis[j]->GetName(),filenamesSuffixes[j]));
gRAB_GlobalSystematics[j] = (TGraphAsymmErrors*)fDRaa->Get("gRAB_GlobalSystematics");
gRAB_GlobalSystematics[j]->SetName(Form("%s_%s",gRAB_GlobalSystematics[j]->GetName(),filenamesSuffixes[j]));
Bool_t shouldDelete=kFALSE;
if(fDRaa->Get("AliHFSystErrPP")){
ppSyst[j]=(AliHFSystErr*)fDRaa->Get("AliHFSystErrPP");
printf("AliHFSystErr object for meson %d in pp (%s) read from HFPtSpectrumRaa output file\n",j,ppSyst[j]->GetTitle());
}else{
printf("Create instance of AliHFSystErr for meson %d in pp \n",j);
ppSyst[j] = new AliHFSystErr(Form("ppSyst_%d",j),Form("ppSyst_%d",j));
ppSyst[j]->SetIsPass4Analysis(kTRUE);
ppSyst[j]->Init(j+1);
shouldDelete=kTRUE;
}
for(Int_t ipt=0; ipt<nbins; ipt++) {
Double_t ptval = ptbinlimits[ipt] + (ptbinlimits[ipt+1]-ptbinlimits[ipt])/2.;
ppTracking[j][ipt]=0.; ppSystRawYield[j][ipt]=0; ppSystCutVar[j][ipt]=0; ppSystPid[j][ipt]=0.;
//.........这里部分代码省略.........