ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/SelMods/src/DilepSelMod.cc
(Generate patch)

Comparing UserCode/MitPhysics/SelMods/src/DilepSelMod.cc (file contents):
Revision 1.2 by loizides, Mon Jun 15 15:00:22 2009 UTC vs.
Revision 1.5 by ceballos, Tue Oct 12 07:07:06 2010 UTC

# Line 17 | Line 17 | DilepSelMod::DilepSelMod(const char *nam
17    BaseMod(name,title),
18    fCleanLeptonsName(ModNames::gkMergedLeptonsName),
19    fMinPt(10),
20 <  fDilMinMass(12),
21 <  fMinZMass(70),
22 <  fMaxZMass(110),
23 <  fIgnoreElCharge(kTRUE),
20 >  fDilMinMass(2),
21 >  fMinZMass(60),
22 >  fMaxZMass(120),
23 >  fIgnoreCharge(kTRUE),
24    fNAccCounters(0),
25    fAllDiLepMass(0),
26    fDiElMass(0),
# Line 42 | Line 42 | void DilepSelMod::Process()
42   {
43    // Process entries of the tree.
44  
45 <  fNAccCounters->Fill(0);
45 >  if (GetFillHist()) fNAccCounters->Fill(0);
46  
47    const ParticleCol *leptons = GetObjThisEvt<ParticleCol>(fCleanLeptonsName);
48    if (!leptons) {
# Line 50 | Line 50 | void DilepSelMod::Process()
50      return;
51    }
52  
53 <  fNAccCounters->Fill(1);
53 >  if (GetFillHist()) fNAccCounters->Fill(1);
54  
55    // make sure have found at least 2 leptons
56    if (leptons->GetEntries()<2) {
# Line 81 | Line 81 | void DilepSelMod::Process()
81        if (mass<fDilMinMass)
82          continue;
83  
84 <      fAllDiLepMass->Fill(mass);
84 >      if (GetFillHist()) fAllDiLepMass->Fill(mass);
85  
86        if (li->ObjType()!=lj->ObjType()) {
87 <        fElMuMass->Fill(mass);
88 <        ++nGoodPairs;
87 >        if (fIgnoreCharge || (li->Charge()!=lj->Charge())) {
88 >           if (GetFillHist()) fElMuMass->Fill(mass);
89 >           ++nGoodPairs;
90 >        }
91          continue;
92        }
93  
94        if (li->Is(kMuon)) {
95 <        if (li->Charge()!=lj->Charge()) {
96 <          fDiMuMass->Fill(mass);
95 >        if (fIgnoreCharge || (li->Charge()!=lj->Charge())) {
96 >          if (GetFillHist()) fDiMuMass->Fill(mass);
97 >          ++nGoodPairs;
98            if ((mass>fMinZMass) && (mass<fMaxZMass)) {
99              ++nZPairs;
97            continue;
100            }
101          }
100        ++nGoodPairs;
102          continue;
103        }
104  
105        if (li->Is(kElectron)) {
106 <        if (fIgnoreElCharge || (li->Charge()!=lj->Charge())) {
107 <          fDiElMass->Fill(mass);
106 >        if (fIgnoreCharge || (li->Charge()!=lj->Charge())) {
107 >          if (GetFillHist()) fDiElMass->Fill(mass);
108 >          ++nGoodPairs;
109            if ((mass>fMinZMass) && (mass<fMaxZMass)) {
110              ++nZPairs;
109            continue;
111            }
112          }
112        ++nGoodPairs;
113          continue;
114        }
115      }
116    }
117  
118 <  fNLeptons->Fill(nLeps);
119 <  fNGPairs->Fill(nGoodPairs);
120 <  fNZPairs->Fill(nZPairs);
121 <  fNAccCounters->Fill(2);
122 <
123 <  // cut on number of Z pairs
124 <  if (nZPairs>=1) {
125 <    SkipEvent();
126 <    return;
118 >  if (GetFillHist()) {
119 >    fNLeptons->Fill(nLeps);
120 >    fNGPairs->Fill(nGoodPairs);
121 >    fNZPairs->Fill(nZPairs);
122 >    fNAccCounters->Fill(2);
123    }
124  
129  fNAccCounters->Fill(3);
130
125    // cut on number of good pairs
126    if (nGoodPairs<1) {
127      SkipEvent();
128      return;
129    }
130  
131 <  fNAccCounters->Fill(4);
132 <  for (UInt_t i=0; i<nLeps; ++i) {
133 <    const Particle *li = leptons->At(i);
134 <
135 <    if (li->Pt()<fMinPt)
136 <      continue;
137 <
138 <    for (UInt_t j=0; j<i; ++j) {
139 <      const Particle *lj = leptons->At(j);
140 <
141 <      if (lj->Pt()<fMinPt)
142 <        continue;
143 <
144 <      CompositeParticle dil;
145 <      dil.AddDaughter(li);
146 <      dil.AddDaughter(lj);
147 <      Double_t mass = dil.Mass();
148 <      if (mass<fDilMinMass)
149 <        continue;
150 <
151 <      fAllDiLepMassAcc->Fill(mass);
152 <
153 <      if (li->ObjType()!=lj->ObjType()) {
154 <        fElMuMassAcc->Fill(mass);
155 <        continue;
156 <      }
131 >  if (GetFillHist()) {
132 >  
133 >    fNAccCounters->Fill(3);
134 >
135 >    for (UInt_t i=0; i<nLeps; ++i) {
136 >      const Particle *li = leptons->At(i);
137 >
138 >      if (li->Pt()<fMinPt)
139 >        continue;
140 >
141 >      for (UInt_t j=0; j<i; ++j) {
142 >        const Particle *lj = leptons->At(j);
143 >
144 >        if (lj->Pt()<fMinPt)
145 >          continue;
146 >
147 >        CompositeParticle dil;
148 >        dil.AddDaughter(li);
149 >        dil.AddDaughter(lj);
150 >        Double_t mass = dil.Mass();
151 >        if (mass<fDilMinMass)
152 >          continue;
153 >
154 >        fAllDiLepMassAcc->Fill(mass);
155 >
156 >        if (li->ObjType()!=lj->ObjType()) {
157 >          if (li->Charge()!=lj->Charge()) {
158 >            fElMuMassAcc->Fill(mass);
159 >          }
160 >          continue;
161 >        }
162  
163 <      if (li->Is(kMuon)) {
164 <        if (li->Charge()!=lj->Charge()) {
165 <          fDiMuMassAcc->Fill(mass);
166 <        continue;
167 <        }
168 <      }
163 >        if (li->Is(kMuon)) {
164 >          if (li->Charge()!=lj->Charge()) {
165 >            fDiMuMassAcc->Fill(mass);
166 >          }
167 >          continue;
168 >        }
169  
170 <      if (li->Is(kElectron)) {
171 <        if (fIgnoreElCharge || (li->Charge()!=lj->Charge())) {
172 <          fDiElMassAcc->Fill(mass);
173 <        }
174 <        continue;
170 >        if (li->Is(kElectron)) {
171 >          if (li->Charge()!=lj->Charge()) {
172 >            fDiElMassAcc->Fill(mass);
173 >          }
174 >          continue;
175 >        }
176        }
177      }
178    }
# Line 183 | Line 183 | void DilepSelMod::SlaveBegin()
183   {
184    // Create and add histograms to the output list.
185  
186 <  AddTH1(fNAccCounters,"hNAccCounters",";cut;#",25,-0.5,24.5);
187 <  if (1) {
188 <    TAxis *xa = fNAccCounters->GetXaxis();
189 <    for(Int_t i=1;i<=fNAccCounters->GetNbinsX();++i)
190 <      xa->SetBinLabel(i,"unused");
191 <    xa->SetBinLabel(1,"Enter");
192 <    xa->SetBinLabel(2,"Objs");
193 <    xa->SetBinLabel(3,"2Lep");
194 <    xa->SetBinLabel(4,"ZPair");
195 <    xa->SetBinLabel(5,"GPair");
196 <    xa->SetRangeUser(0,4);
197 <  }
198 <  AddTH1(fAllDiLepMass,"hAllDiLepMass",";m_{ll} [GeV];#",150,0,300);
199 <  AddTH1(fDiElMass,"hDiElMass",";m_{ll} [GeV];#",150,0,300);
200 <  AddTH1(fDiMuMass,"hDiMuMass",";m_{ll} [GeV];#",150,0,300);
201 <  AddTH1(fElMuMass,"hElMuMass",";m_{ll} [GeV];#",150,0,300);
202 <  AddTH1(fAllDiLepMassAcc,"hAllDiLepMassAcc",";m_{ll} [GeV];#",150,0,300);
203 <  AddTH1(fDiElMassAcc,"hDiElMassAcc",";m_{ll} [GeV];#",150,0,300);
204 <  AddTH1(fDiMuMassAcc,"hDiMuMassAcc",";m_{ll} [GeV];#",150,0,300);
205 <  AddTH1(fElMuMassAcc,"hElMuMassAcc",";m_{ll} [GeV];#",150,0,300);
206 <  AddTH1(fNLeptons,"hNLeptons",";leptons;#",10,-0.5,9.5);
207 <  AddTH1(fNGPairs,"hNGoodPairs",";leptons;#",10,-0.5,9.5);
208 <  AddTH1(fNZPairs,"hNZPairs",";leptons;#",10,-0.5,9.5);
186 >  if (GetFillHist()) {
187 >    AddTH1(fNAccCounters,"hNAccCounters",";cut;#",4,-0.5,3.5);
188 >    if (1) {
189 >      TAxis *xa = fNAccCounters->GetXaxis();
190 >      for(Int_t i=1;i<=fNAccCounters->GetNbinsX();++i)
191 >        xa->SetBinLabel(i,"unused");
192 >      xa->SetBinLabel(1,"Enter");
193 >      xa->SetBinLabel(2,"Objs");
194 >      xa->SetBinLabel(3,"2Lep");
195 >      xa->SetBinLabel(4,"GPair");
196 >      xa->SetRangeUser(0,3);
197 >    }
198 >    AddTH1(fAllDiLepMass,"hAllDiLepMass",";m_{ll} [GeV];#",150,0,300);
199 >    AddTH1(fDiElMass,"hDiElMass",";m_{ll} [GeV];#",150,0,300);
200 >    AddTH1(fDiMuMass,"hDiMuMass",";m_{ll} [GeV];#",150,0,300);
201 >    AddTH1(fElMuMass,"hElMuMass",";m_{ll} [GeV];#",150,0,300);
202 >    AddTH1(fAllDiLepMassAcc,"hAllDiLepMassAcc",";m_{ll} [GeV];#",150,0,300);
203 >    AddTH1(fDiElMassAcc,"hDiElMassAcc",";m_{ll} [GeV];#",150,0,300);
204 >    AddTH1(fDiMuMassAcc,"hDiMuMassAcc",";m_{ll} [GeV];#",150,0,300);
205 >    AddTH1(fElMuMassAcc,"hElMuMassAcc",";m_{ll} [GeV];#",150,0,300);
206 >    AddTH1(fNLeptons,"hNLeptons",";leptons;#",10,-0.5,9.5);
207 >    AddTH1(fNGPairs,"hNGoodPairs",";leptons;#",10,-0.5,9.5);
208 >    AddTH1(fNZPairs,"hNZPairs",";leptons;#",10,-0.5,9.5);
209 >  }
210   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines