当前位置: 首页>>代码示例>>C++>>正文


C++ Track::Charge方法代码示例

本文整理汇总了C++中Track::Charge方法的典型用法代码示例。如果您正苦于以下问题:C++ Track::Charge方法的具体用法?C++ Track::Charge怎么用?C++ Track::Charge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Track的用法示例。


在下文中一共展示了Track::Charge方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: analyze

void analyze(){

  int ifiles = 0;

  bool MC = false;
  bool correct = true;
  double drMax = 0.2;

  double ptMin = 0.3;
  double ptMax = 15;

  double jetPtMin = 7.;
  double jetEtaMax = 2.;
  double jetEMFMin = 0.01;

  const int nEtBins = 8;

  // === input ===
  TChain* tree = new TChain("Events");
  tree->Add("/d100/data/MinimumBias-ReReco/Jan29ReReco-v2/bambu/BSCNOBEAMHALO_000_*.root");
  //tree->Add("/d100/data/MinimumBias-ReReco/Jan29ReReco-v2/bambu/BSCNOBEAMHALO_000_1.root");
  
  // === ana config ===
  double etBinsArray[nEtBins] = {0,5,10,15,20,30,70,120};
  vector<double> etBins(etBinsArray,etBinsArray+nEtBins);

  string JECLevels = "L2:L3";
  //string JECTag = "900GeV_L2Relative_IC5Calo:900GeV_L3Absolute_IC5Calo";
  string JECTag = "900GeV_L2Relative_AK5Calo:900GeV_L3Absolute_AK5Calo";
  CombinedJetCorrector *JEC = new CombinedJetCorrector(JECLevels,JECTag);

  // === setup output ===
  char* outname = Form("hists.root",ifiles);
  TFile* outf = new TFile(outname,"recreate");
  TH1::SetDefaultSumw2();

  TH1D* hptTr[nEtBins+1];
  TH1D* hptGen[nEtBins+1];
  
  TTree * tree_ = new TTree("dijetTree","dijet tree");
  TreeDiJetEventData jd_;
  jd_.SetTree(tree_);
  jd_.SetBranches();

  for(int ih = 0; ih < nEtBins+1; ++ih){
    hptTr[ih] =  new TH1D(Form("hptTr%d",ih),Form("Tracks in cone |#Delta R| < %f; p_{T}^{track}; N_{track}/N_{jet}",drMax),250,ptMin,ptMax);
    hptGen[ih] =  new TH1D(Form("hptGen%d",ih),Form("Charged Particles in cone |#Delta R| < %f; p_{T}^{chg}; N_{chg}/N_{jet}",drMax),250,ptMin,ptMax);
  }

  TH1D* hptJet = new TH1D("hptJet",";p_{T} [GeV];jets",100,0,20);
  TH2D* hptCor = new TH2D("hptCor",";p_{T}^{raw} [GeV];p_{T}^{corrected} [GeV]",100,0,20,100,0,20);
  TH1D* hDR = new TH1D("hDR",";#Delta R;tracks",100,0,3.2);
  TH1D* hFFz = new TH1D("hFFz","",100,0,1.2);
  TH1D* hXi = new TH1D("hXi","",100,-2,8);
  TH1D* hFFzGen = new TH1D("hFFzGen","",100,0,1.2);
  TH1D* hXiGen = new TH1D("hXiGen","",100,-2,8);


  // === setup branches
  mithep::Array<mithep::CaloJet> *jets;
  mithep::Array<mithep::Track> *tracks;
  mithep::Array<mithep::Vertex> *vertices;
  mithep::L1TriggerMask *L1T;
  mithep::L1TriggerMask *L1A;
  mithep::Array<mithep::MCParticle> *genparticles;
  mithep::Array<mithep::GenJet> *genjets;
  mithep::EventHeader *evInfo;

  //tree->SetBranchAddress("ItrCone5Jets",&jets);
  tree->SetBranchAddress("AKt5Jets",&jets);
  tree->SetBranchAddress("Tracks",&tracks);
  tree->SetBranchAddress("PrimaryVertexes",&vertices);
  tree->SetBranchAddress("L1TechBitsBeforeMask",&L1T);
  tree->SetBranchAddress("L1AlgoBitsBeforeMask",&L1A);
  tree->SetBranchAddress("EventHeader",&evInfo);

  /*
  if(MC){
    tree->SetBranchAddress("MCParticles",&genparticles);
    tree->SetBranchAddress("IC5GenJets",&genjets);
  }
  */

  int nevents = tree->GetEntries();
  int nevtrig = 0;
  double njet[nEtBins] = {0.,0.,0.,0.,0.,0.,0.,0.};
  double ngenjet[nEtBins] = {0.,0.,0.,0.,0.,0.,0.,0.};

  //  nevents = 50;  
  for(int iev = 0; iev < nevents; ++iev){
    tree->GetEntry(iev);

    // clear jet data
    jd_.ClearCounters();

    // trigger info
    bool A0 = L1A->Get().TestBit(0);

    // run level
    UInt_t runNum=evInfo->RunNum();
//.........这里部分代码省略.........
开发者ID:CmsHI,项目名称:CVS_SavedFMa,代码行数:101,代码来源:analyze.C


注:本文中的Track::Charge方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。