ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Jeng/PVStudy/plugins/PVStudy.cc
(Generate patch)

Comparing UserCode/Jeng/PVStudy/plugins/PVStudy.cc (file contents):
Revision 1.7 by yygao, Thu Oct 8 14:57:46 2009 UTC vs.
Revision 1.8 by jengbou, Fri Oct 16 00:11:30 2009 UTC

# Line 65 | Line 65 | PVStudy::PVStudy(const edm::ParameterSet
65    //=======================================================================
66    // Get configuration for TrackTupleMaker
67    //=======================================================================
68 <  simG4_           = iConfig.getParameter<edm::InputTag>( "simG4" );
69 <  trackCollectionTag_     = iConfig.getUntrackedParameter<edm::InputTag>("trackCollection");  
70 <  splitTrackCollection1Tag_     = iConfig.getUntrackedParameter<edm::InputTag>("splitTrackCollection1");
71 <  splitTrackCollection2Tag_     = iConfig.getUntrackedParameter<edm::InputTag>("splitTrackCollection2");
68 >  simG4_                     = iConfig.getParameter<edm::InputTag>( "simG4" );
69 >  trackCollectionTag_        = iConfig.getUntrackedParameter<edm::InputTag>("trackCollection");  
70 >  splitTrackCollection1Tag_  = iConfig.getUntrackedParameter<edm::InputTag>("splitTrackCollection1");
71 >  splitTrackCollection2Tag_  = iConfig.getUntrackedParameter<edm::InputTag>("splitTrackCollection2");
72    vertexCollectionTag_       = iConfig.getUntrackedParameter<edm::InputTag>("vertexCollection");
73 <  splitVertexCollection1Tag_       = iConfig.getUntrackedParameter<edm::InputTag>("splitVertexCollection1");
74 <  splitVertexCollection2Tag_       = iConfig.getUntrackedParameter<edm::InputTag>("splitVertexCollection2");
75 <  verbose_         = iConfig.getUntrackedParameter<bool>("verbose",false);
76 <  realData_        = iConfig.getUntrackedParameter<bool>("realData",false);
77 <  analyze_         = iConfig.getUntrackedParameter<bool>("analyzeOnTheFly",false);
78 <  saventuple_         = iConfig.getUntrackedParameter<bool>("saventuple",false);  
79 <  outputfilename_  = iConfig.getUntrackedParameter<string>("OutputFileName");
80 <  ntrkdiffcut_         = iConfig.getUntrackedParameter<double>("ntrkdiffcut");
81 <  nTrkMin_ =  iConfig.getUntrackedParameter<int>("nTrkMin");
82 <  nTrkMax_ =  iConfig.getUntrackedParameter<int>("nTrkMax");
73 >  splitVertexCollection1Tag_ = iConfig.getUntrackedParameter<edm::InputTag>("splitVertexCollection1");
74 >  splitVertexCollection2Tag_ = iConfig.getUntrackedParameter<edm::InputTag>("splitVertexCollection2");
75 >  verbose_                   = iConfig.getUntrackedParameter<bool>("verbose",false);
76 >  realData_                  = iConfig.getUntrackedParameter<bool>("realData",false);
77 >  analyze_                   = iConfig.getUntrackedParameter<bool>("analyzeOnTheFly",false);
78 >  saventuple_                = iConfig.getUntrackedParameter<bool>("saventuple",false);  
79 >  outputfilename_            = iConfig.getUntrackedParameter<string>("OutputFileName");
80 >  ntrkdiffcut_               = iConfig.getUntrackedParameter<double>("ntrkdiffcut");
81 >  nTrkMin_                   = iConfig.getUntrackedParameter<int>("nTrkMin");
82 >  nTrkMax_                   = iConfig.getUntrackedParameter<int>("nTrkMax");
83  
84    //now do what ever initialization is needed
85    pvinfo.clear();
# Line 472 | Line 472 | PVStudy::analyze(const edm::Event& iEven
472    //=======================================================
473    // Initialize Root-tuple variables if needed
474    //=======================================================
475 <  if(saventuple_)
475 >  //if(saventuple_)
476      SetVarToZero();
477    
478    //=======================================================
# Line 619 | Line 619 | PVStudy::analyze(const edm::Event& iEven
619      printRecVtxs(splitVertexCollection2Handle);
620    }
621    
622  h["nrecPV"]->Fill(vertexColl->size());
623  h["nrecPV1_spl"]->Fill(splitVertexColl1->size());
624  h["nrecPV2_spl"]->Fill(splitVertexColl2->size());
625  h["nrecPVDiff"]->Fill(double(splitVertexColl1->size())-double(splitVertexColl2->size()));
622    //Fill the tree variables
623    nrecPV_ = vertexColl->size();
624    nrecPV1_spl_ = splitVertexColl1->size();
625    nrecPV2_spl_ = splitVertexColl2->size();
626 +
627 +  h["nrecPV"]->Fill(nrecPV_);
628 +  h["nrecPV1_spl"]->Fill(nrecPV1_spl_);
629 +  h["nrecPV2_spl"]->Fill(nrecPV2_spl_);
630 +  h["nrecPVDiff"]->Fill(double(nrecPV1_spl_)-double(nrecPV2_spl_));
631    
632    // Fill the track paramters for the vertexColl
633    for(reco::VertexCollection::const_iterator v=vertexColl->begin();
634 <      v!=vertexColl->end(); ++v){  
634 >      v!=vertexColl->end(); ++v){
635 >    h["nTrkPV"]->Fill(v->tracksSize());
636      try {
637        for(reco::Vertex::trackRef_iterator t = v->tracks_begin();
638            t!=v->tracks_end(); t++) {
# Line 741 | Line 743 | PVStudy::analyze(const edm::Event& iEven
743                    error(ferror_[0], ferror_[1], ferror_[2]),
744                    fntrk_,0);  
745  
746 <        ftree_->Fill();  
746 >        if (saventuple_) ftree_->Fill();        
747        } // End of  if(fabs(ntrkreldiff)<ntrkdiffcut_) {
748      } // End of  if (matchVertex(recvtx1, recvtx2))  {
749      else   {
# Line 869 | Line 871 | PVStudy::analyze(const edm::Event& iEven
871                fillHisto(res(fres_mct[0], fres_mct[1], fres_mct[2]),
872                          error(ferror_mct[0], ferror_mct[1], ferror_mct[2]),
873                          fntrk_mct, i);
874 <              ftree_->Fill();
874 >              if (saventuple_) ftree_->Fill();
875                suffix.clear();
876              }
877              else {  // no rec vertex found for this simvertex
# Line 907 | Line 909 | PVStudy::endJob() {
909      case 3: suffix = "_mct";
910        break;
911      }
912 <    for (int ntrk=nTrkMin_;ntrk<=nTrkMax_;++ntrk) {
913 <      if (verbose_) cout << "Fill point of ntrk = " << ntrk << endl;
914 <      PVStudy::PVAnaInfo ipv = GetPVAnaInfo(ntrk,*it);
915 <      if (analyze_) {
912 >    if (analyze_) {
913 >      for (int ntrk=nTrkMin_;ntrk<=nTrkMax_;++ntrk) {
914 >        PVStudy::PVAnaInfo ipv = GetPVAnaInfo(ntrk,*it);
915 >        if (verbose_) cout << "Fill point of ntrk = " << ntrk << endl;
916          if ( ipv.res_.x() > 0 ) h2["resx"+suffix+"_nTrk"]->Fill(ntrk,ipv.res_.x(), 1.);
917          if ( ipv.res_.y() > 0 ) h2["resy"+suffix+"_nTrk"]->Fill(ntrk,ipv.res_.y(), 1.);
918          if ( ipv.res_.z() > 0 ) h2["resz"+suffix+"_nTrk"]->Fill(ntrk,ipv.res_.z(), 1.);
# Line 918 | Line 920 | PVStudy::endJob() {
920          if ( ipv.pull_.y() > 0 ) h2["pully"+suffix+"_nTrk"]->Fill(ntrk,ipv.pull_.y(), 1.);
921          if ( ipv.pull_.z() > 0 ) h2["pullz"+suffix+"_nTrk"]->Fill(ntrk,ipv.pull_.z(), 1.);
922        }
923 <    } // End of  for (int ntrk=nTrkMin_;ntrk<=nTrkMax_;++ntrk) {
923 >    }
924      suffix.clear();
925    }
926 <  file_->cd();
927 <  ftree_->Write();
928 <  file_->Close();
926 >  if(saventuple_) {
927 >    file_->cd();
928 >    ftree_->Write();
929 >    file_->Close();
930 >  }
931   }
932  
933  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines