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

Comparing UserCode/L1RpcTriggerAnalysis/plugins/L1RpcTreeAnalysis.cc (file contents):
Revision 1.1 by konec, Mon Oct 1 19:21:02 2012 UTC vs.
Revision 1.6 by konec, Tue Oct 23 16:14:05 2012 UTC

# Line 20 | Line 20
20   #include "UserCode/L1RpcTriggerAnalysis/interface/MuonObj.h"
21   #include "UserCode/L1RpcTriggerAnalysis/interface/L1ObjColl.h"
22   #include "UserCode/L1RpcTriggerAnalysis/interface/SynchroCountsObj.h"
23 + #include "UserCode/L1RpcTriggerAnalysis/interface/TriggerMenuResultObj.h"
24  
25   #include "UserCode/L1RpcTriggerAnalysis/interface/ConverterRPCRawSynchroSynchroCountsObj.h"
26  
# Line 36 | Line 37 | void L1RpcTreeAnalysis::beginJob()
37    theAnaEmu.init(theHistos);
38    theAnaSynch.init(theHistos);
39    theAnaClu.init(theHistos);
40 +  theAnaTimingL1.init(theHistos);
41  
42   }
43  
# Line 73 | Line 75 | void L1RpcTreeAnalysis::analyze(const ed
75    std::vector<uint32_t> *detsHitsCompatibleWithMuon = 0;
76    std::vector<uint32_t> *detsSIMU = 0;
77    std::vector<uint32_t> *nDigisCompDets = 0;
78 +  std::vector<uint32_t> *clSizeCompDets = 0;
79  
80    EventObj * event = 0;
81    MuonObj * muon = 0;
82  
83 +  TriggerMenuResultObj *bitsL1  = 0;
84 +  TriggerMenuResultObj *bitsHLT = 0;
85 +
86    TBranch *bcounts=0;
87    TBranch *bdetsCrossedByMuon =0;
88    TBranch *bdetsCrossedByMuonDeepInside =0;
89    TBranch *bdetsHitsCompatibleWithMuon = 0;
90    TBranch *bdetsSIMU =0;
91    TBranch *bnDigisCompDets =0;
92 +  TBranch *bclSizeCompDets =0;
93  
94    L1ObjColl* l1RpcColl = 0;
95    L1ObjColl* l1OtherColl = 0;
# Line 91 | Line 98 | void L1RpcTreeAnalysis::analyze(const ed
98    chain.SetBranchAddress("event",&event);
99    chain.SetBranchAddress("muon",&muon);
100  
101 +  chain.SetBranchAddress("bitsL1",&bitsL1);
102 +  chain.SetBranchAddress("bitsHLT",&bitsHLT);
103 +  
104    chain.SetBranchAddress("counts",&counts,&bcounts);
105    chain.SetBranchAddress("detsCrossedByMuon",&detsCrossedByMuon,&bdetsCrossedByMuon);
106    chain.SetBranchAddress("detsCrossedByMuonDeepInside",&detsCrossedByMuonDeepInside,&bdetsCrossedByMuonDeepInside);
107    chain.SetBranchAddress("detsHitsCompatibleWithMuon",&detsHitsCompatibleWithMuon,&bdetsHitsCompatibleWithMuon);
108    chain.SetBranchAddress("detsSIMU",&detsSIMU,&bdetsSIMU);
109    chain.SetBranchAddress("nDigisCompDets",&nDigisCompDets, &bnDigisCompDets);
110 +  chain.SetBranchAddress("clSizeCompDets",&clSizeCompDets, &bclSizeCompDets);
111  
112    chain.SetBranchAddress("l1RpcColl",&l1RpcColl);
113    chain.SetBranchAddress("l1OtherColl",&l1OtherColl);
# Line 104 | Line 115 | void L1RpcTreeAnalysis::analyze(const ed
115  
116  
117    //
118 <  // number of efents
118 >  // number of events
119    //
120    Int_t nentries = (Int_t) chain.GetEntries();
121    std::cout <<" ENTRIES: " << nentries << std::endl;
# Line 131 | Line 142 | void L1RpcTreeAnalysis::analyze(const ed
142   //   theAnaDet.debug = false;
143   //    if ((*event).id==60422922)theAnaRpcMisc.debug = true;
144  
145 +   static std::vector<std::string>   namesL1;
146 +   if (bitsL1->names.size() != 0)    namesL1=bitsL1->names;
147 +   static std::vector<std::string>   namesHLT;
148 +   if (bitsHLT->names.size() != 0)   namesHLT=bitsHLT->names;
149 +   const std::vector<unsigned int> & algosL1 = bitsL1->firedAlgos;
150 +   const std::vector<unsigned int> & algosHLT = bitsHLT->firedAlgos;
151 +
152 + /*
153 +   std::cout <<" Number of bits L1: " <<  bitsL1->names.size()<<"/"<<namesL1.size()<<"/"<<bitsL1->firedAlgos.size()
154 +                           <<" HLT: "<< bitsHLT->names.size()<<"/"<<namesHLT.size()<<"/"<<bitsHLT->firedAlgos.size()<<std::endl;
155 +   std::cout <<"----------------------- L1: "<<std::endl;
156 +   for (std::vector<unsigned int>::const_iterator it=algosL1.begin(); it< algosL1.end(); ++it) std::cout <<"L1 idx: "<<*it<<" "<<namesL1[*it]<< std::endl;
157 +   std::cout <<"----------------------- HLT: "<<std::endl;
158 +   for (std::vector<unsigned int>::const_iterator it=algosHLT.begin(); it< algosHLT.end(); ++it) std::cout<<" HLT idx: "<<*it<<" "<<namesHLT[*it]<< std::endl;
159 + */
160 +
161     theAnaMuonDistribution.run(muon);
162     theAnaRpcVsOth.run(muon,l1RpcColl,l1OtherColl);
163     theAnaEff.run(muon,l1RpcColl,l1OtherColl);
# Line 138 | Line 165 | void L1RpcTreeAnalysis::analyze(const ed
165     theAnaDet.run( muon, *detsHitsCompatibleWithMuon,  *detsCrossedByMuon, *detsCrossedByMuonDeepInside);
166     theAnaEmu.run ( event, muon, l1RpcCollEmu, l1RpcColl);
167     theAnaSynch.run( event, muon, ConverterRPCRawSynchroSynchroCountsObj::toRawSynchro( *counts));
168 <   theAnaClu.run( muon, l1RpcColl, *detsHitsCompatibleWithMuon, *nDigisCompDets);
168 >   theAnaClu.run( event, muon, l1RpcColl, *detsHitsCompatibleWithMuon, *nDigisCompDets, *clSizeCompDets);
169 >   theAnaTimingL1.run(event,muon,l1RpcColl,l1OtherColl);
170  
171   //   theAnaEmu.debug =theAnaDet.debug;
172   //    std::cout <<"----------"<<std::endl;
# Line 151 | Line 179 | void L1RpcTreeAnalysis::analyze(const ed
179   void L1RpcTreeAnalysis::endJob()
180   {
181    std::cout <<"ENDJOB, summaries:"<<std::endl;
182 <  TGraph* hGraph_DetEff =theAnaDet.resume();
183 <  TGraph* hGraph_RunEff =theAnaRpcMisc.resume();
182 >  TGraph* hGraph_DetEff = theAnaDet.resume();
183 >  theAnaRpcMisc.resume(theHistos);
184 >  TGraph* hGraph_RunClu = theAnaClu.resume();
185 >  theAnaTimingL1.resume(theHistos);
186  
187    theAnaSynch.endJob();
188  
# Line 160 | Line 190 | void L1RpcTreeAnalysis::endJob()
190    TFile f(histoFile.c_str(),"RECREATE");
191    theHistos.Write();
192    hGraph_DetEff->Write("hGraph_DetEff");
193 <  hGraph_RunEff->Write("hGraph_RunEff");
193 >  hGraph_RunClu->Write("hGraph_RunClu");
194    f.Close();
195    std::cout <<"END"<<std::endl;
196   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines