File indexing completed on 2024-04-06 11:59:22
0001 #include "TreeAnalysisHcalNZS.h"
0002 #include <TStyle.h>
0003 #include <TCanvas.h>
0004
0005 Bool_t FillChain(TChain *chain, const TString &inputFileList);
0006
0007 int main(Int_t argc, Char_t *argv[]) {
0008
0009 if ( argc<12 ) {
0010 std::cerr << "Please give 10 arguments "
0011 << "runList \n"
0012 << "outputFileName \n"
0013 << "dataType \n"
0014 << "ecalCharIso \n"
0015 << "hcalCharIso \n"
0016 << "ebNeutIso \n"
0017 << "eeNeutIso \n"
0018 << "hhNeutIso \n"
0019 << "L1Seed \n"
0020 << "dRL1Jet \n"
0021 << "ZS/NZS Flag \n"
0022 << "nGoodPV \n"
0023 << std::endl;
0024 return -1;
0025 }
0026
0027 const char *inputFileList = argv[1];
0028 const char *outFileName = argv[2];
0029 const char *dataType = argv[3];
0030 const char *ecalCharIso = argv[4];
0031 const char *hcalCharIso = argv[5];
0032 const char *ebNeutIso = argv[6];
0033 const char *eeNeutIso = argv[7];
0034 const char *hhNeutIso = argv[8];
0035 const char *L1Seed = argv[9];
0036 const char *dRL1Jet = argv[10];
0037 const char *ZSNZSFlag = argv[11];
0038 const char *nGoodPV = argv[12];
0039
0040 int cut = 0;
0041 int flag = atoi(ZSNZSFlag);
0042
0043 std::cout << "Command line arguments" << std::endl;
0044 std::cout << "inputFileList " << inputFileList << std::endl;
0045 std::cout << "outFileName " << outFileName << std::endl;
0046 std::cout << "dataType " << dataType << std::endl;
0047 std::cout << "ecalCharIso " << ecalCharIso << std::endl;
0048 std::cout << "hcalCharIso " << hcalCharIso << std::endl;
0049 std::cout << "ebNeutIso " << ebNeutIso << std::endl;
0050 std::cout << "eeNeutIso " << eeNeutIso << std::endl;
0051 std::cout << "hhNeutIso " << hhNeutIso << std::endl;
0052 std::cout << "dRL1Jet " << dRL1Jet << std::endl;
0053 std::cout << "L1Seed " << L1Seed << std::endl;
0054 std::cout << "ZS/NZS Flag " << flag << "(1 for ZS, 0 for NZS)" << std::endl;
0055 std::cout << "nGoodPV " << nGoodPV << "(0: nGoodPV=1, -1: firstGoodPV, -2: anyGoodPV)" << std::endl;
0056
0057
0058 std::cout << "---------------------" << std::endl;
0059 std::cout << "Reading List of input trees from " << inputFileList << std::endl;
0060
0061 TChain *chain;
0062 if (flag) chain = new TChain("/isolatedTracksNxN/tree");
0063 else chain = new TChain("/isolatedTracksNxN_NZS/tree");
0064 if( ! FillChain(chain, inputFileList) ) {
0065 std::cerr << "Cannot get the tree " << std::endl;
0066 return(0);
0067 }
0068
0069 TreeAnalysisHcalNZS tree(chain, outFileName);
0070
0071 tree.ecalCharIso = ecalCharIso;
0072 tree.hcalCharIso = hcalCharIso;
0073 tree.dataType = dataType;
0074 tree.ebNeutIso = atof(ebNeutIso);
0075 tree.eeNeutIso = atof(eeNeutIso);
0076 tree.hhNeutIso = atof(hhNeutIso);
0077 tree.dRL1Jet = atof(dRL1Jet);
0078 tree.L1Seed = L1Seed;
0079 tree.GoodPVCut = atoi(nGoodPV);
0080
0081 tree.Loop(cut);
0082
0083 return 0;
0084 }
0085
0086 Bool_t FillChain(TChain *chain, const TString &inputFileList) {
0087
0088 ifstream infile(inputFileList);
0089 std::string buffer;
0090
0091 if(!infile.is_open()) {
0092 std::cerr << "** ERROR: Can't open '" << inputFileList << "' for input" << std::endl;
0093 return kFALSE;
0094 }
0095
0096 std::cout << "TreeUtilities : FillChain " << std::endl;
0097 while(1) {
0098 infile >> buffer;
0099 if(!infile.good()) break;
0100
0101 chain->Add(buffer.c_str());
0102 }
0103 std::cout << "No. of Entries in this tree : " << chain->GetEntries() << std::endl;
0104 return kTRUE;
0105 }
0106
0107 TreeAnalysisHcalNZS::TreeAnalysisHcalNZS(TChain *tree, const char *outFileName) {
0108
0109 double tempgen_TH[NPBins+1] = { 0.0, 1.0, 2.0, 3.0, 4.0,
0110 5.0, 6.0, 7.0, 9.0, 11.0,
0111 15.0, 20.0, 30.0, 50.0, 75.0, 100.0};
0112
0113 for(int i=0; i<NPBins+1; i++) genPartPBins[i] = tempgen_TH[i];
0114
0115 double tempgen_Eta[NEtaBins+1] = {0.0, 0.2, 0.4, 0.6, 0.8,
0116 1.0, 1.2, 1.4, 1.6, 1.8,
0117 2.0, 2.2, 2.4};
0118
0119 for(int i=0; i<NEtaBins+1; i++) genPartEtaBins[i] = tempgen_Eta[i];
0120
0121 Init(tree);
0122
0123 BookHistograms(outFileName);
0124 }
0125
0126 TreeAnalysisHcalNZS::~TreeAnalysisHcalNZS(){
0127 if (!fChain) return;
0128 delete fChain->GetCurrentFile();
0129 fout->cd();
0130 fout->Write();
0131 fout->Close();
0132 }
0133
0134 Int_t TreeAnalysisHcalNZS::Cut(Long64_t entry) {
0135
0136
0137
0138 return 1;
0139 }
0140
0141 Int_t TreeAnalysisHcalNZS::GetEntry(Long64_t entry) {
0142
0143 if (!fChain) return 0;
0144 return fChain->GetEntry(entry);
0145 }
0146
0147 Long64_t TreeAnalysisHcalNZS::LoadTree(Long64_t entry)
0148 {
0149
0150 if (!fChain) return -5;
0151 Long64_t centry = fChain->LoadTree(entry);
0152 if (centry < 0) return centry;
0153 if (!fChain->InheritsFrom(TChain::Class())) return centry;
0154 TChain *chain = (TChain*)fChain;
0155 if (chain->GetTreeNumber() != fCurrent) {
0156 fCurrent = chain->GetTreeNumber();
0157 Notify();
0158 }
0159 return centry;
0160 }
0161
0162 void TreeAnalysisHcalNZS::Init(TChain *tree)
0163 {
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173 PVx = 0;
0174 PVy = 0;
0175 PVz = 0;
0176 PVisValid = 0;
0177 PVndof = 0;
0178 PVNTracks = 0;
0179 PVNTracksWt = 0;
0180 t_PVTracksSumPt = 0;
0181 t_PVTracksSumPtWt = 0;
0182 PVNTracksHP = 0;
0183 PVNTracksHPWt = 0;
0184 t_PVTracksSumPtHP = 0;
0185 t_PVTracksSumPtHPWt = 0;
0186
0187 t_L1AlgoNames = 0;
0188 t_L1PreScale = 0;
0189 t_L1CenJetPt = 0;
0190 t_L1CenJetEta = 0;
0191 t_L1CenJetPhi = 0;
0192 t_L1FwdJetPt = 0;
0193 t_L1FwdJetEta = 0;
0194 t_L1FwdJetPhi = 0;
0195 t_L1TauJetPt = 0;
0196 t_L1TauJetEta = 0;
0197 t_L1TauJetPhi = 0;
0198 t_L1MuonPt = 0;
0199 t_L1MuonEta = 0;
0200 t_L1MuonPhi = 0;
0201 t_L1IsoEMPt = 0;
0202 t_L1IsoEMEta = 0;
0203 t_L1IsoEMPhi = 0;
0204 t_L1NonIsoEMPt = 0;
0205 t_L1NonIsoEMEta = 0;
0206 t_L1NonIsoEMPhi = 0;
0207 t_L1METPt = 0;
0208 t_L1METEta = 0;
0209 t_L1METPhi = 0;
0210
0211 t_jetPt = 0;
0212 t_jetEta = 0;
0213 t_jetPhi = 0;
0214 t_nTrksJetCalo = 0;
0215 t_nTrksJetVtx = 0;
0216
0217 t_trackPAll = 0;
0218 t_trackEtaAll = 0;
0219 t_trackPhiAll = 0;
0220 t_trackPtAll = 0;
0221 t_trackDxyAll = 0;
0222 t_trackDzAll = 0;
0223 t_trackDxyPVAll = 0;
0224 t_trackDzPVAll = 0;
0225 t_trackChiSqAll = 0;
0226
0227 t_trackP = 0;
0228 t_trackPt = 0;
0229 t_trackEta = 0;
0230 t_trackPhi = 0;
0231 t_trackEcalEta = 0;
0232 t_trackEcalPhi = 0;
0233 t_trackHcalEta = 0;
0234 t_trackHcalPhi = 0;
0235 t_trackNOuterHits = 0;
0236 t_NLayersCrossed = 0;
0237 t_trackHitsTOB = 0;
0238 t_trackHitsTEC = 0;
0239 t_trackHitInMissTOB = 0;
0240 t_trackHitInMissTEC = 0;
0241 t_trackHitInMissTIB = 0;
0242 t_trackHitInMissTID = 0;
0243 t_trackHitInMissTIBTID = 0;
0244 t_trackHitOutMissTOB = 0;
0245 t_trackHitOutMissTEC = 0;
0246 t_trackHitOutMissTIB = 0;
0247 t_trackHitOutMissTID = 0;
0248 t_trackHitOutMissTOBTEC = 0;
0249 t_trackHitInMeasTOB = 0;
0250 t_trackHitInMeasTEC = 0;
0251 t_trackHitInMeasTIB = 0;
0252 t_trackHitInMeasTID = 0;
0253 t_trackHitOutMeasTOB = 0;
0254 t_trackHitOutMeasTEC = 0;
0255 t_trackHitOutMeasTIB = 0;
0256 t_trackHitOutMeasTID = 0;
0257 t_trackOutPosOutHitDr = 0;
0258 t_trackL = 0;
0259 t_trackDxy = 0;
0260 t_trackDxyBS = 0;
0261 t_trackDz = 0;
0262 t_trackDzBS = 0;
0263 t_trackDxyPV = 0;
0264 t_trackDzPV = 0;
0265 t_trackChiSq = 0;
0266 t_trackPVIdx = 0;
0267
0268 t_maxNearP31x31 = 0;
0269 t_maxNearP21x21 = 0;
0270 t_ecalSpike11x11 = 0;
0271 t_e7x7 = 0;
0272 t_e9x9 = 0;
0273 t_e11x11 = 0;
0274 t_e15x15 = 0;
0275 t_e7x7_10Sig = 0;
0276 t_e9x9_10Sig = 0;
0277 t_e11x11_10Sig = 0;
0278 t_e15x15_10Sig = 0;
0279 t_e7x7_15Sig = 0;
0280 t_e9x9_15Sig = 0;
0281 t_e11x11_15Sig = 0;
0282 t_e15x15_15Sig = 0;
0283 t_e7x7_20Sig = 0;
0284 t_e9x9_20Sig = 0;
0285 t_e11x11_20Sig = 0;
0286 t_e15x15_20Sig = 0;
0287 t_e7x7_25Sig = 0;
0288 t_e9x9_25Sig = 0;
0289 t_e11x11_25Sig = 0;
0290 t_e15x15_25Sig = 0;
0291 t_e7x7_30Sig = 0;
0292 t_e9x9_30Sig = 0;
0293 t_e11x11_30Sig = 0;
0294 t_e15x15_30Sig = 0;
0295
0296 t_maxNearHcalP3x3 = 0;
0297 t_maxNearHcalP5x5 = 0;
0298 t_maxNearHcalP7x7 = 0;
0299 t_h3x3 = 0;
0300 t_h5x5 = 0;
0301 t_h7x7 = 0;
0302 t_h3x3Sig = 0;
0303 t_h5x5Sig = 0;
0304 t_h7x7Sig = 0;
0305 t_infoHcal = 0;
0306
0307
0308 if (!tree) return;
0309 fChain = tree;
0310 fCurrent = -1;
0311 fChain->SetMakeClass(1);
0312
0313 fChain->SetBranchAddress("t_EvtNo", &t_EvtNo, &b_t_EvtNo);
0314 fChain->SetBranchAddress("t_RunNo", &t_RunNo, &b_t_RunNo);
0315 fChain->SetBranchAddress("t_Lumi", &t_Lumi, &b_t_Lumi);
0316 fChain->SetBranchAddress("t_Bunch", &t_Bunch, &b_t_Bunch);
0317 fChain->SetBranchAddress("PVx", &PVx, &b_PVx);
0318 fChain->SetBranchAddress("PVy", &PVy, &b_PVy);
0319 fChain->SetBranchAddress("PVz", &PVz, &b_PVz);
0320 fChain->SetBranchAddress("PVisValid", &PVisValid, &b_PVisValid);
0321 fChain->SetBranchAddress("PVndof", &PVndof, &b_PVndof);
0322 fChain->SetBranchAddress("PVNTracks", &PVNTracks, &b_PVNTracks);
0323 fChain->SetBranchAddress("PVNTracksWt", &PVNTracksWt, &b_PVNTracksWt);
0324 fChain->SetBranchAddress("t_PVTracksSumPt", &t_PVTracksSumPt, &b_t_PVTracksSumPt);
0325 fChain->SetBranchAddress("t_PVTracksSumPtWt", &t_PVTracksSumPtWt, &b_t_PVTracksSumPtWt);
0326 fChain->SetBranchAddress("PVNTracksHP", &PVNTracksHP, &b_PVNTracksHP);
0327 fChain->SetBranchAddress("PVNTracksHPWt", &PVNTracksHPWt, &b_PVNTracksHPWt);
0328 fChain->SetBranchAddress("t_PVTracksSumPtHP", &t_PVTracksSumPtHP, &b_t_PVTracksSumPtHP);
0329 fChain->SetBranchAddress("t_PVTracksSumPtHPWt", &t_PVTracksSumPtHPWt, &b_t_PVTracksSumPtHPWt);
0330
0331 fChain->SetBranchAddress("t_L1Decision", t_L1Decision, &b_t_L1Decision);
0332 fChain->SetBranchAddress("t_L1AlgoNames", &t_L1AlgoNames, &b_t_L1AlgoNames);
0333 fChain->SetBranchAddress("t_L1PreScale", &t_L1PreScale, &b_t_L1PreScale);
0334 fChain->SetBranchAddress("t_L1CenJetPt", &t_L1CenJetPt, &b_t_L1CenJetPt);
0335 fChain->SetBranchAddress("t_L1CenJetEta", &t_L1CenJetEta, &b_t_L1CenJetEta);
0336 fChain->SetBranchAddress("t_L1CenJetPhi", &t_L1CenJetPhi, &b_t_L1CenJetPhi);
0337 fChain->SetBranchAddress("t_L1FwdJetPt", &t_L1FwdJetPt, &b_t_L1FwdJetPt);
0338 fChain->SetBranchAddress("t_L1FwdJetEta", &t_L1FwdJetEta, &b_t_L1FwdJetEta);
0339 fChain->SetBranchAddress("t_L1FwdJetPhi", &t_L1FwdJetPhi, &b_t_L1FwdJetPhi);
0340 fChain->SetBranchAddress("t_L1TauJetPt", &t_L1TauJetPt, &b_t_L1TauJetPt);
0341 fChain->SetBranchAddress("t_L1TauJetEta", &t_L1TauJetEta, &b_t_L1TauJetEta);
0342 fChain->SetBranchAddress("t_L1TauJetPhi", &t_L1TauJetPhi, &b_t_L1TauJetPhi);
0343 fChain->SetBranchAddress("t_L1MuonPt", &t_L1MuonPt, &b_t_L1MuonPt);
0344 fChain->SetBranchAddress("t_L1MuonEta", &t_L1MuonEta, &b_t_L1MuonEta);
0345 fChain->SetBranchAddress("t_L1MuonPhi", &t_L1MuonPhi, &b_t_L1MuonPhi);
0346 fChain->SetBranchAddress("t_L1IsoEMPt", &t_L1IsoEMPt, &b_t_L1IsoEMPt);
0347 fChain->SetBranchAddress("t_L1IsoEMEta", &t_L1IsoEMEta, &b_t_L1IsoEMEta);
0348 fChain->SetBranchAddress("t_L1IsoEMPhi", &t_L1IsoEMPhi, &b_t_L1IsoEMPhi);
0349 fChain->SetBranchAddress("t_L1NonIsoEMPt",&t_L1NonIsoEMPt,&b_t_L1NonIsoEMPt);
0350 fChain->SetBranchAddress("t_L1NonIsoEMEta", &t_L1NonIsoEMEta, &b_t_L1NonIsoEMEta);
0351 fChain->SetBranchAddress("t_L1NonIsoEMPhi", &t_L1NonIsoEMPhi, &b_t_L1NonIsoEMPhi);
0352 fChain->SetBranchAddress("t_L1METPt", &t_L1METPt, &b_t_L1METPt);
0353 fChain->SetBranchAddress("t_L1METEta", &t_L1METEta, &b_t_L1METEta);
0354 fChain->SetBranchAddress("t_L1METPhi", &t_L1METPhi, &b_t_L1METPhi);
0355
0356 fChain->SetBranchAddress("t_jetPt", &t_jetPt, &b_t_jetPt);
0357 fChain->SetBranchAddress("t_jetEta", &t_jetEta, &b_t_jetEta);
0358 fChain->SetBranchAddress("t_jetPhi", &t_jetPhi, &b_t_jetPhi);
0359 fChain->SetBranchAddress("t_nTrksJetCalo", &t_nTrksJetCalo, &b_t_nTrksJetCalo);
0360 fChain->SetBranchAddress("t_nTrksJetVtx", &t_nTrksJetVtx, &b_t_nTrksJetVtx);
0361
0362 fChain->SetBranchAddress("t_trackPAll", &t_trackPAll, &b_t_trackPAll);
0363 fChain->SetBranchAddress("t_trackEtaAll", &t_trackEtaAll, &b_t_trackEtaAll);
0364 fChain->SetBranchAddress("t_trackPhiAll", &t_trackPhiAll, &b_t_trackPhiAll);
0365 fChain->SetBranchAddress("t_trackPtAll", &t_trackPtAll, &b_t_trackPtAll);
0366 fChain->SetBranchAddress("t_trackDxyAll", &t_trackDxyAll, &b_t_trackDxyAll);
0367 fChain->SetBranchAddress("t_trackDzAll", &t_trackDzAll, &b_t_trackDzAll);
0368 fChain->SetBranchAddress("t_trackDxyPVAll", &t_trackDxyPVAll, &b_t_trackDxyPVAll);
0369 fChain->SetBranchAddress("t_trackDzPVAll", &t_trackDzPVAll, &b_t_trackDzPVAll);
0370 fChain->SetBranchAddress("t_trackChiSqAll", &t_trackChiSqAll, &b_t_trackChiSqAll);
0371 fChain->SetBranchAddress("t_trackP", &t_trackP, &b_t_trackP);
0372 fChain->SetBranchAddress("t_trackPt", &t_trackPt, &b_t_trackPt);
0373 fChain->SetBranchAddress("t_trackEta", &t_trackEta, &b_t_trackEta);
0374 fChain->SetBranchAddress("t_trackPhi", &t_trackPhi, &b_t_trackPhi);
0375 fChain->SetBranchAddress("t_trackEcalEta", &t_trackEcalEta, &b_t_trackEcalEta);
0376 fChain->SetBranchAddress("t_trackEcalPhi", &t_trackEcalPhi, &b_t_trackEcalPhi);
0377 fChain->SetBranchAddress("t_trackHcalEta", &t_trackHcalEta, &b_t_trackHcalEta);
0378 fChain->SetBranchAddress("t_trackHcalPhi", &t_trackHcalPhi, &b_t_trackHcalPhi);
0379 fChain->SetBranchAddress("t_trackNOuterHits", &t_trackNOuterHits, &b_t_trackNOuterHits);
0380 fChain->SetBranchAddress("t_NLayersCrossed", &t_NLayersCrossed, &b_t_NLayersCrossed);
0381 fChain->SetBranchAddress("t_trackHitsTOB", &t_trackHitsTOB, &b_t_trackHitsTOB);
0382 fChain->SetBranchAddress("t_trackHitsTEC", &t_trackHitsTEC, &b_t_trackHitsTEC);
0383 fChain->SetBranchAddress("t_trackHitInMissTOB", &t_trackHitInMissTOB, &b_t_trackHitInMissTOB);
0384 fChain->SetBranchAddress("t_trackHitInMissTEC", &t_trackHitInMissTEC, &b_t_trackHitInMissTEC);
0385 fChain->SetBranchAddress("t_trackHitInMissTIB", &t_trackHitInMissTIB, &b_t_trackHitInMissTIB);
0386 fChain->SetBranchAddress("t_trackHitInMissTID", &t_trackHitInMissTID, &b_t_trackHitInMissTID);
0387 fChain->SetBranchAddress("t_trackHitInMissTIBTID", &t_trackHitInMissTIBTID, &b_t_trackHitInMissTIBTID);
0388 fChain->SetBranchAddress("t_trackHitOutMissTOB", &t_trackHitOutMissTOB, &b_t_trackHitOutMissTOB);
0389 fChain->SetBranchAddress("t_trackHitOutMissTEC", &t_trackHitOutMissTEC, &b_t_trackHitOutMissTEC);
0390 fChain->SetBranchAddress("t_trackHitOutMissTIB", &t_trackHitOutMissTIB, &b_t_trackHitOutMissTIB);
0391 fChain->SetBranchAddress("t_trackHitOutMissTID", &t_trackHitOutMissTID, &b_t_trackHitOutMissTID);
0392 fChain->SetBranchAddress("t_trackHitOutMissTOBTEC", &t_trackHitOutMissTOBTEC, &b_t_trackHitOutMissTOBTEC);
0393 fChain->SetBranchAddress("t_trackHitInMeasTOB", &t_trackHitInMeasTOB, &b_t_trackHitInMeasTOB);
0394 fChain->SetBranchAddress("t_trackHitInMeasTEC", &t_trackHitInMeasTEC, &b_t_trackHitInMeasTEC);
0395 fChain->SetBranchAddress("t_trackHitInMeasTIB", &t_trackHitInMeasTIB, &b_t_trackHitInMeasTIB);
0396 fChain->SetBranchAddress("t_trackHitInMeasTID", &t_trackHitInMeasTID, &b_t_trackHitInMeasTID);
0397 fChain->SetBranchAddress("t_trackHitOutMeasTOB", &t_trackHitOutMeasTOB, &b_t_trackHitOutMeasTOB);
0398 fChain->SetBranchAddress("t_trackHitOutMeasTEC", &t_trackHitOutMeasTEC, &b_t_trackHitOutMeasTEC);
0399 fChain->SetBranchAddress("t_trackHitOutMeasTIB", &t_trackHitOutMeasTIB, &b_t_trackHitOutMeasTIB);
0400 fChain->SetBranchAddress("t_trackHitOutMeasTID", &t_trackHitOutMeasTID, &b_t_trackHitOutMeasTID);
0401 fChain->SetBranchAddress("t_trackDxy", &t_trackDxy, &b_t_trackDxy);
0402 fChain->SetBranchAddress("t_trackDxyBS", &t_trackDxyBS, &b_t_trackDxyBS);
0403 fChain->SetBranchAddress("t_trackDz", &t_trackDz, &b_t_trackDz);
0404 fChain->SetBranchAddress("t_trackDzBS", &t_trackDzBS, &b_t_trackDzBS);
0405 fChain->SetBranchAddress("t_trackDxyPV", &t_trackDxyPV, &b_t_trackDxyPV);
0406 fChain->SetBranchAddress("t_trackDzPV", &t_trackDzPV, &b_t_trackDzPV);
0407 fChain->SetBranchAddress("t_trackChiSq", &t_trackChiSq, &b_t_trackChiSq);
0408 fChain->SetBranchAddress("t_trackPVIdx", &t_trackPVIdx, &b_t_trackPVIdx);
0409
0410 fChain->SetBranchAddress("t_maxNearP31x31", &t_maxNearP31x31, &b_t_maxNearP31x31);
0411 fChain->SetBranchAddress("t_maxNearP21x21", &t_maxNearP21x21, &b_t_maxNearP21x21);
0412 fChain->SetBranchAddress("t_ecalSpike11x11", &t_ecalSpike11x11, &b_t_ecalSpike11x11);
0413 fChain->SetBranchAddress("t_e7x7", &t_e7x7, &b_t_e7x7);
0414 fChain->SetBranchAddress("t_e9x9", &t_e9x9, &b_t_e9x9);
0415 fChain->SetBranchAddress("t_e11x11", &t_e11x11, &b_t_e11x11);
0416 fChain->SetBranchAddress("t_e15x15", &t_e15x15, &b_t_e15x15);
0417 fChain->SetBranchAddress("t_e7x7_10Sig", &t_e7x7_10Sig, &b_t_e7x7_10Sig);
0418 fChain->SetBranchAddress("t_e9x9_10Sig", &t_e9x9_10Sig, &b_t_e9x9_10Sig);
0419 fChain->SetBranchAddress("t_e11x11_10Sig", &t_e11x11_10Sig, &b_t_e11x11_10Sig);
0420 fChain->SetBranchAddress("t_e15x15_10Sig", &t_e15x15_10Sig, &b_t_e15x15_10Sig);
0421 fChain->SetBranchAddress("t_e7x7_15Sig", &t_e7x7_15Sig, &b_t_e7x7_15Sig);
0422 fChain->SetBranchAddress("t_e9x9_15Sig", &t_e9x9_15Sig, &b_t_e9x9_15Sig);
0423 fChain->SetBranchAddress("t_e11x11_15Sig", &t_e11x11_15Sig, &b_t_e11x11_15Sig);
0424 fChain->SetBranchAddress("t_e15x15_15Sig", &t_e15x15_15Sig, &b_t_e15x15_15Sig);
0425 fChain->SetBranchAddress("t_e7x7_20Sig", &t_e7x7_20Sig, &b_t_e7x7_20Sig);
0426 fChain->SetBranchAddress("t_e9x9_20Sig", &t_e9x9_20Sig, &b_t_e9x9_20Sig);
0427 fChain->SetBranchAddress("t_e11x11_20Sig", &t_e11x11_20Sig, &b_t_e11x11_20Sig);
0428 fChain->SetBranchAddress("t_e15x15_20Sig", &t_e15x15_20Sig, &b_t_e15x15_20Sig);
0429 fChain->SetBranchAddress("t_e7x7_25Sig", &t_e7x7_25Sig, &b_t_e7x7_25Sig);
0430 fChain->SetBranchAddress("t_e9x9_25Sig", &t_e9x9_25Sig, &b_t_e9x9_25Sig);
0431 fChain->SetBranchAddress("t_e11x11_25Sig", &t_e11x11_25Sig, &b_t_e11x11_25Sig);
0432 fChain->SetBranchAddress("t_e15x15_25Sig", &t_e15x15_25Sig, &b_t_e15x15_25Sig);
0433 fChain->SetBranchAddress("t_e7x7_30Sig", &t_e7x7_30Sig, &b_t_e7x7_30Sig);
0434 fChain->SetBranchAddress("t_e9x9_30Sig", &t_e9x9_30Sig, &b_t_e9x9_30Sig);
0435 fChain->SetBranchAddress("t_e11x11_30Sig", &t_e11x11_30Sig, &b_t_e11x11_30Sig);
0436 fChain->SetBranchAddress("t_e15x15_30Sig", &t_e15x15_30Sig, &b_t_e15x15_30Sig);
0437
0438 fChain->SetBranchAddress("t_maxNearHcalP3x3", &t_maxNearHcalP3x3, &b_t_maxNearHcalP3x3);
0439 fChain->SetBranchAddress("t_maxNearHcalP5x5", &t_maxNearHcalP5x5, &b_t_maxNearHcalP5x5);
0440 fChain->SetBranchAddress("t_maxNearHcalP7x7", &t_maxNearHcalP7x7, &b_t_maxNearHcalP7x7);
0441 fChain->SetBranchAddress("t_h3x3", &t_h3x3, &b_t_h3x3);
0442 fChain->SetBranchAddress("t_h5x5", &t_h5x5, &b_t_h5x5);
0443 fChain->SetBranchAddress("t_h7x7", &t_h7x7, &b_t_h7x7);
0444 fChain->SetBranchAddress("t_h3x3Sig", &t_h3x3Sig, &b_t_h3x3Sig);
0445 fChain->SetBranchAddress("t_h5x5Sig", &t_h5x5Sig, &b_t_h5x5Sig);
0446 fChain->SetBranchAddress("t_h7x7Sig", &t_h7x7Sig, &b_t_h7x7Sig);
0447 fChain->SetBranchAddress("t_infoHcal", &t_infoHcal, &b_t_infoHcal);
0448 fChain->SetBranchAddress("t_nTracks", &t_nTracks, &b_t_nTracks);
0449 Notify();
0450 }
0451
0452 void TreeAnalysisHcalNZS::Loop(int cut) {
0453
0454 std::cout << "Track isolation thresholds " <<std::endl;
0455 std::cout << "dataType " << dataType << std::endl;
0456 std::cout << "ecalCharIso " << ecalCharIso << std::endl;
0457 std::cout <<" hcalCharIso " << hcalCharIso << std::endl;
0458 std::cout << "ebNeutIso " << ebNeutIso << std::endl;
0459 std::cout << "eeNeutIso " << eeNeutIso << std::endl;
0460 std::cout << "hhNeutIso " << hhNeutIso << std::endl;
0461 std::cout << "L1Seed " << L1Seed << std::endl;
0462 if (fChain == 0) {
0463 std::cout << "\n Tree does not exist "<<std::endl;
0464 return;
0465 }
0466
0467 bool debug = false;
0468 Long64_t nentries = fChain->GetEntriesFast();
0469 std::cout << "No. of Entries in tree " << nentries << std::endl;
0470
0471 Long64_t nEventsGoodRuns=0, nEventsValidPV=0, nEventsPVTracks=0;
0472
0473 Long64_t nbytes = 0, nb = 0;
0474 std::map<unsigned int, unsigned int> runEvtList;
0475 std::map<unsigned int, unsigned int> runNTrkList;
0476 std::map<unsigned int, unsigned int> runNIsoTrkList;
0477
0478 for (Long64_t jentry=0; jentry<nentries;jentry++) {
0479
0480
0481 Long64_t ientry = LoadTree(jentry);
0482 if (ientry < 0) break;
0483 nb = fChain->GetEntry(jentry); nbytes += nb;
0484
0485 if( !(jentry%100000) ) {
0486 std::cout << "processing event " << jentry+1 << std::endl;
0487 }
0488
0489 bool goodRun= false;
0490 goodRun = true;
0491
0492 bool evtSel = true;
0493 if(dataType=="Data" && !goodRun ) {
0494 evtSel = false;
0495 }
0496 if( !evtSel ) continue;
0497
0498 if( runEvtList.find(t_RunNo) != runEvtList.end() ) {
0499 runEvtList[t_RunNo] += 1;
0500 } else {
0501 runEvtList.insert( std::pair<unsigned int, unsigned int>(t_RunNo,1) );
0502 if (debug) std::cout << "runNo " << t_RunNo <<" "<<runEvtList[t_RunNo]<<std::endl;
0503 }
0504
0505 nEventsGoodRuns++;
0506
0507
0508
0509
0510 std::vector<int> isGoodPV(PVz->size(), -1);
0511 int nGoodPV=0;
0512 bool anyGoodPV =false;
0513 bool firstPVGood=false;
0514
0515 for(int ipv=0; ipv<PVz->size(); ipv++) {
0516 double rho = sqrt((*PVx)[ipv]*(*PVx)[ipv] + (*PVy)[ipv]*(*PVy)[ipv]);
0517 h_PVx[0] ->Fill( (*PVx)[ipv] );
0518 h_PVy[0] ->Fill( (*PVy)[ipv] );
0519 h_PVr[0] ->Fill( rho );
0520 h_PVz[0] ->Fill( (*PVz)[ipv] );
0521 h_PVNDOF[0] ->Fill( (*PVndof)[ipv] );
0522 h_PVNTracks[0] ->Fill( (*PVNTracks)[ipv] );
0523 h_PVTracksSumPt[0] ->Fill( (*t_PVTracksSumPt)[ipv] );
0524 h_PVNTracksWt[0] ->Fill( (*PVNTracksWt)[ipv] );
0525 h_PVTracksSumPtWt[0]->Fill( (*t_PVTracksSumPtWt)[ipv] );
0526 h_PVNTracksSumPt[0] ->Fill( (*PVNTracks)[ipv], (*t_PVTracksSumPt)[ipv]);
0527
0528 if( std::abs((*PVz)[ipv])<=15.0 && rho<=2.0 && (*PVndof)[ipv]>4 )
0529 isGoodPV[ipv] = 1;
0530 else
0531 isGoodPV[ipv] = 0;
0532
0533 if (debug) std::cout << "PV : " << ipv << " rho " << rho << " z " << (*PVz)[ipv] << " ndf " << (*PVndof)[ipv] << " Good " << isGoodPV[ipv] << std::endl;
0534 if( isGoodPV[ipv]>0 ) {
0535 nGoodPV++;
0536 anyGoodPV = true;
0537 if(ipv==0) firstPVGood = true;
0538 h_PVx[1] ->Fill( (*PVx)[ipv] );
0539 h_PVy[1] ->Fill( (*PVy)[ipv] );
0540 h_PVr[1] ->Fill( rho );
0541 h_PVz[1] ->Fill( (*PVz)[ipv] );
0542 h_PVNDOF[1] ->Fill( (*PVndof)[ipv] );
0543 h_PVNTracks[1] ->Fill( (*PVNTracks)[ipv] );
0544 h_PVTracksSumPt[1] ->Fill( (*t_PVTracksSumPt)[ipv] );
0545 h_PVNTracksWt[1] ->Fill( (*PVNTracksWt)[ipv] );
0546 h_PVTracksSumPtWt[1]->Fill( (*t_PVTracksSumPtWt)[ipv] );
0547 h_PVNTracksSumPt[1] ->Fill( (*PVNTracks)[ipv], (*t_PVTracksSumPt)[ipv]);
0548 }
0549 }
0550 h_NPV[0] ->Fill(PVz->size());
0551 h_NPV[1] ->Fill(nGoodPV);
0552
0553 if( firstPVGood ) {
0554 nEventsValidPV++;
0555 nEventsPVTracks++;
0556 }
0557
0558 bool pvSel = true;
0559
0560 if (debug) std::cout << "GoodPVCut " << GoodPVCut << " anyGoodPV " << anyGoodPV << " firstPVGood " << firstPVGood << " nGoodPV " << nGoodPV << std::endl;
0561 if (GoodPVCut == -2 && !anyGoodPV ) pvSel = false;
0562 else if (GoodPVCut == -1 && !firstPVGood ) pvSel = false;
0563 else if (GoodPVCut==0 && nGoodPV != 1 ) pvSel = false;
0564 else if (GoodPVCut>0 && (nGoodPV > GoodPVCut || nGoodPV < 1)) pvSel = false;
0565
0566 if(dataType=="DiPion") pvSel = true;
0567 if (debug) std::cout << "NGoodPV " << nGoodPV << " First " << firstPVGood << " pvSel " << pvSel << std::endl;
0568 if( !pvSel ) continue;
0569
0570
0571 double maxL1Pt=-1.0, maxL1Eta=999.0, maxL1Phi=999.0;
0572 bool checkL1=false;
0573
0574 if( L1Seed=="L1Jet" || L1Seed=="L1JetL1Tau" || L1Seed=="L1JetL1TauL1EM" || L1Seed=="L1JetL1EM") {
0575 if( t_L1Decision[15]>0 || t_L1Decision[16]>0 || t_L1Decision[17]>0 ||
0576 t_L1Decision[18]>0 || t_L1Decision[19]>0 || t_L1Decision[20]>0 ||
0577 t_L1Decision[21]>0 ){
0578 if( t_L1CenJetPt->size()>0 && (*t_L1CenJetPt)[0]>maxL1Pt )
0579 {maxL1Pt=(*t_L1CenJetPt)[0]; maxL1Eta=(*t_L1CenJetEta)[0]; maxL1Phi=(*t_L1CenJetPhi)[0];}
0580 if( t_L1FwdJetPt->size()>0 && (*t_L1FwdJetPt)[0]>maxL1Pt )
0581 {maxL1Pt=(*t_L1FwdJetPt)[0]; maxL1Eta=(*t_L1FwdJetEta)[0]; maxL1Phi=(*t_L1FwdJetPhi)[0];}
0582 checkL1=true;
0583 }
0584 }
0585 if( L1Seed=="L1Tau" || L1Seed=="L1JetL1Tau" || L1Seed=="L1JetL1TauL1EM") {
0586 if( t_L1Decision[30]>0 || t_L1Decision[31]>0 || t_L1Decision[32]>0 ||
0587 t_L1Decision[33]>0 ) {
0588 if( t_L1TauJetPt->size()>0 && (*t_L1TauJetPt)[0]>maxL1Pt )
0589 {maxL1Pt=(*t_L1TauJetPt)[0]; maxL1Eta=(*t_L1TauJetEta)[0]; maxL1Phi=(*t_L1TauJetPhi)[0];}
0590 checkL1=true;
0591 }
0592 }
0593 if( L1Seed=="L1EM" || L1Seed=="L1JetL1TauL1EM" || L1Seed=="L1JetL1EM") {
0594 if( t_L1Decision[46]>0 || t_L1Decision[47]>0 || t_L1Decision[48]>0 ||
0595 t_L1Decision[49]>0 || t_L1Decision[50]>0 || t_L1Decision[51]>0 ||
0596 t_L1Decision[52]>0 ) {
0597 if( t_L1IsoEMPt->size()>0 && (*t_L1IsoEMPt)[0]>maxL1Pt )
0598 {maxL1Pt=(*t_L1IsoEMPt)[0]; maxL1Eta=(*t_L1IsoEMEta)[0]; maxL1Phi=(*t_L1IsoEMPhi)[0];}
0599 checkL1=true;
0600 }
0601 }
0602 if( maxL1Pt<0 ) checkL1=false;
0603 if (debug) {
0604 std::cout << "L1Seed " << L1Seed << " pt/eta/phi " << maxL1Pt << "|" << maxL1Eta << "|" << maxL1Phi << " checkL1 " << checkL1 << " L1Decision " << std::endl;
0605 for (int i=-14; i<53; ++i) std::cout << " i " << i << ":" << t_L1Decision[i];
0606 std::cout << std::endl;
0607 }
0608
0609
0610 for(int itrk=0; itrk<t_trackPAll->size(); itrk++ ){
0611 h_trackP[0] ->Fill((*t_trackPAll)[itrk] );
0612 h_trackPt[0] ->Fill((*t_trackPtAll)[itrk] );
0613 h_trackEta[0] ->Fill((*t_trackEtaAll)[itrk] );
0614 h_trackPhi[0] ->Fill((*t_trackPhiAll)[itrk] );
0615 h_trackDxy[0] ->Fill((*t_trackDxyPVAll)[itrk] );
0616 h_trackDz[0] ->Fill((*t_trackDzPVAll)[itrk] );
0617 h_trackChiSq[0]->Fill((*t_trackChiSqAll)[itrk] );
0618 }
0619
0620
0621 for(int itrk=0; itrk<t_trackP->size(); itrk++ ){
0622 h_trackP[1] ->Fill((*t_trackP)[itrk] );
0623 h_trackPt[1] ->Fill((*t_trackPt)[itrk] );
0624 h_trackEta[1] ->Fill((*t_trackEta)[itrk] );
0625 h_trackPhi[1] ->Fill((*t_trackPhi)[itrk] );
0626 h_trackDxy[1] ->Fill((*t_trackDxyPV)[itrk]);
0627 h_trackDz[1] ->Fill((*t_trackDzPV )[itrk]);
0628 h_trackChiSq[1]->Fill((*t_trackChiSq)[itrk] );
0629 }
0630
0631 if( runNTrkList.find(t_RunNo) != runNTrkList.end() ) {
0632 runNTrkList[t_RunNo] += t_trackP->size();
0633 } else {
0634 runNTrkList.insert( std::pair<unsigned int, unsigned int>(t_RunNo,t_trackP->size()) );
0635 if (debug) std::cout << "runNo " << t_RunNo <<" "<<runNTrkList[t_RunNo]<<std::endl;
0636 }
0637
0638 unsigned int NIsoTrk=0;
0639 for(int itrk=0; itrk<t_trackP->size(); itrk++ ){
0640
0641
0642 if (debug) std::cout << "Track " << itrk << " pt " << (*t_trackPt)[itrk] << std::endl;
0643 if( (*t_trackPt)[itrk] < 1.0 ) continue;
0644
0645 double p1 = (*t_trackP)[itrk];
0646 double pt1 = (*t_trackPt)[itrk];
0647 double eta1 = (*t_trackEta)[itrk];
0648 double phi1 = (*t_trackPhi)[itrk];
0649 double etaEcal1 = (*t_trackEcalEta)[itrk];
0650 double phiEcal1 = (*t_trackEcalPhi)[itrk];
0651 double etaHcal1 = (*t_trackHcalEta)[itrk];
0652 double phiHcal1 = (*t_trackHcalPhi)[itrk];
0653 int trackNOuterHits = (*t_trackNOuterHits)[itrk];
0654 int NLayersCrossed = (*t_NLayersCrossed)[itrk];
0655 int ecalSpike11x11 = (*t_ecalSpike11x11)[itrk];
0656
0657 double maxNearP31x31 = (*t_maxNearP31x31)[itrk];
0658
0659 double e7x7 = (*t_e7x7)[itrk];
0660 double e9x9 = (*t_e9x9)[itrk];
0661 double e11x11 = (*t_e11x11)[itrk];
0662 double e15x15 = (*t_e15x15)[itrk];
0663
0664 double maxNearHcalP3x3 = (*t_maxNearHcalP3x3)[itrk];
0665 double maxNearHcalP5x5 = (*t_maxNearHcalP5x5)[itrk];
0666 double maxNearHcalP7x7 = (*t_maxNearHcalP7x7)[itrk];
0667
0668 double h3x3 = (*t_h3x3)[itrk];
0669 double h5x5 = (*t_h5x5)[itrk];
0670 double h7x7 = (*t_h7x7)[itrk];
0671
0672 if( (*t_infoHcal)[itrk] < 1 ) {
0673 h3x3 = 0.0;
0674 h5x5 = 0.0;
0675 h7x7 = 0.0;
0676 }
0677
0678 h_trackP[2] ->Fill((*t_trackP)[itrk] );
0679 h_trackPt[2] ->Fill((*t_trackPt)[itrk] );
0680 h_trackEta[2] ->Fill((*t_trackEta)[itrk] );
0681 h_trackPhi[2] ->Fill((*t_trackPhi)[itrk] );
0682 h_trackDxy[2] ->Fill((*t_trackDxyPV)[itrk]);
0683 h_trackDz[2] ->Fill((*t_trackDzPV )[itrk]);
0684 h_trackChiSq[2]->Fill((*t_trackChiSq)[itrk] );
0685
0686 int iTrkEtaBin=-1, iTrkMomBin=-1;
0687 for(int ieta=0; ieta<NEtaBins; ieta++) {
0688 if(std::abs(etaEcal1)>genPartEtaBins[ieta] && std::abs(etaEcal1)<genPartEtaBins[ieta+1] ) iTrkEtaBin = ieta;
0689 }
0690 for(int ipt=0; ipt<NPBins; ipt++) {
0691 if( p1>genPartPBins[ipt] && p1<genPartPBins[ipt+1] ) iTrkMomBin = ipt;
0692 }
0693 if (debug) std::cout << "p " << p1 << " " << iTrkMomBin << " eta " << eta1 << " " << iTrkEtaBin << std::endl;
0694
0695 bool trackChargeIso = true;
0696 if(ecalCharIso=="MaxNearP31x31" && maxNearP31x31>0) trackChargeIso=false;
0697
0698 if(hcalCharIso=="MaxNearHcalP7x7" && maxNearHcalP7x7>0) trackChargeIso=false;
0699 if(hcalCharIso=="MaxNearHcalP5x5" && maxNearHcalP5x5>0) trackChargeIso=false;
0700 if(hcalCharIso=="MaxNearHcalP3x3" && maxNearHcalP3x3>0) trackChargeIso=false;
0701 if (debug) std::cout << "Isolation " << ecalCharIso << ":" << hcalCharIso << " ==> " << trackChargeIso << std::endl;
0702
0703 bool hcalNeutIso = true;
0704 if( h7x7-h5x5 > hhNeutIso ) hcalNeutIso=false;
0705
0706 if( iTrkMomBin>=0 && iTrkEtaBin>=0) {
0707 h_trackPhi_2_2[iTrkEtaBin] ->Fill((*t_trackPhi)[itrk]);
0708 }
0709
0710 bool trackSel = true;
0711
0712 if( (*t_trackHitInMissTOB )[itrk]>0 || (*t_trackHitInMissTEC )[itrk]>0 ||
0713 (*t_trackHitInMissTIB )[itrk]>0 || (*t_trackHitInMissTID )[itrk]>0 ||
0714 (*t_trackHitOutMissTOB)[itrk]>0 || (*t_trackHitOutMissTEC)[itrk]>0 )
0715 trackSel = false;
0716 if( ecalSpike11x11==0 ) trackSel=false ;
0717 if( trackSel ) {
0718 h_trackP[3] ->Fill((*t_trackP)[itrk] );
0719 h_trackPt[3] ->Fill((*t_trackPt)[itrk] );
0720 h_trackEta[3] ->Fill((*t_trackEta)[itrk] );
0721 h_trackPhi[3] ->Fill((*t_trackPhi)[itrk] );
0722 h_trackDxy[3] ->Fill((*t_trackDxyPV)[itrk]);
0723 h_trackDz[3] ->Fill((*t_trackDzPV )[itrk]);
0724 h_trackChiSq[3]->Fill((*t_trackChiSq)[itrk] );
0725 if( iTrkMomBin>=0 && iTrkEtaBin>=0) {
0726 h_trackPhi_3_3[iTrkEtaBin] ->Fill((*t_trackPhi)[itrk]);
0727 }
0728 }
0729
0730 if( iTrkMomBin>=0 && iTrkEtaBin>=0) {
0731 if((*t_trackHitInMissTIB )[itrk]<1 && (*t_trackHitInMissTID )[itrk]<1 )
0732 h_trackPhi_3_Inner[iTrkEtaBin] ->Fill((*t_trackPhi)[itrk]);
0733 if((*t_trackHitOutMissTOB)[itrk]<1 && (*t_trackHitOutMissTEC)[itrk]<1 )
0734 h_trackPhi_3_Outer[iTrkEtaBin] ->Fill((*t_trackPhi)[itrk]);
0735 }
0736 if( NLayersCrossed<7 ) trackSel=false ;
0737
0738 if(dataType=="Data" && (std::abs((*t_trackDxyPV)[itrk])>0.2 || std::abs((*t_trackDzPV)[itrk])>0.2 || (*t_trackChiSq)[itrk]>5.0 || (*t_trackPVIdx)[itrk]>0 ) )
0739 trackSel = false;
0740 if(dataType=="MC" && (std::abs((*t_trackDxyPV)[itrk])>0.2 || std::abs((*t_trackDzPV)[itrk])>0.2 || (*t_trackChiSq)[itrk]>5.0 ) )
0741 trackSel = false;
0742 if(dataType=="DiPion" && (*t_trackChiSq)[itrk]>5.0 ) trackSel = false;
0743
0744 double drTrackL1=0.0;
0745 if( (dataType=="Data" || dataType=="MC") ) {
0746 if( checkL1 ){
0747 drTrackL1 = DeltaR(eta1, phi1, maxL1Eta, maxL1Phi);
0748
0749 bool tempIso=true;
0750 if( std::abs(eta1)<1.47 ) if( e15x15-e11x11 > ebNeutIso ) tempIso=false;
0751 if( std::abs(eta1)>1.47 ) if( e15x15-e11x11 > eeNeutIso ) tempIso=false;
0752 if (debug) std::cout << "Track Selection " << trackSel << " Isolation " << tempIso << ":" << hcalNeutIso << " dr " << drTrackL1 << ":" << dRL1Jet << std::endl;
0753 if( drTrackL1<dRL1Jet) trackSel=false;
0754 if( trackChargeIso && hcalNeutIso && tempIso) {
0755 if( drTrackL1>100.0) {
0756 std::cout<<"trackP,eta,phi "<<std::setw(10)<<(*t_trackP)[itrk]<<std::setw(10)<<(*t_trackEta)[itrk]
0757 <<std::setw(10)<<(*t_trackPhi)[itrk]
0758 <<" L1eta,phi "<<std::setw(10)<<maxL1Eta<<std::setw(10)<<maxL1Phi
0759 <<" dEta,dPhi "<<std::setw(10)<<eta1-maxL1Eta<<std::setw(10)<<DeltaPhi(phi1,maxL1Phi)
0760 <<" dR "<<std::setw(10)<<drTrackL1<<" maxL1Pt "<<std::setw(5)<<maxL1Pt<<" "<<checkL1
0761 <<std::endl;
0762 }
0763 h_drTrackL1[iTrkMomBin][iTrkEtaBin]->Fill(drTrackL1);
0764 }
0765 } else {
0766 trackSel = false;
0767 }
0768 }
0769
0770 if( trackSel ) {
0771 h_trackP[4] ->Fill((*t_trackP)[itrk] );
0772 h_trackPt[4] ->Fill((*t_trackPt)[itrk] );
0773 h_trackEta[4] ->Fill((*t_trackEta)[itrk] );
0774 h_trackPhi[4] ->Fill((*t_trackPhi)[itrk] );
0775 h_trackDxy[4] ->Fill((*t_trackDxyPV)[itrk]);
0776 h_trackDz[4] ->Fill((*t_trackDzPV )[itrk]);
0777 h_trackChiSq[4]->Fill((*t_trackChiSq)[itrk] );
0778 }
0779
0780
0781 bool ecalNeutIso = true;
0782 if( std::abs(eta1)<1.47 ) if( e15x15-e11x11 > ebNeutIso ) ecalNeutIso=false;
0783 if( std::abs(eta1)>1.47 ) if( e15x15-e11x11 > eeNeutIso ) ecalNeutIso=false;
0784 if (debug) std::cout << "All selection " << iTrkMomBin << ":" << iTrkEtaBin << ":" << trackSel << ":" << trackChargeIso << ":" << hcalNeutIso << ":" << ecalNeutIso << std::endl;
0785
0786 if( iTrkMomBin>=0 && iTrkEtaBin>=0 && trackSel) {
0787
0788 h_maxNearP31x31[iTrkMomBin][iTrkEtaBin]->Fill( maxNearP31x31 );
0789
0790 if( trackChargeIso ) {
0791 h_diff_e15x15e11x11 [iTrkMomBin][iTrkEtaBin]->Fill(e15x15-e11x11);
0792 h_diff_e15x15e11x11_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((*t_e15x15_20Sig)[itrk]-(*t_e11x11_20Sig)[itrk]);
0793 h_diff_h7x7h5x5 [iTrkMomBin][iTrkEtaBin]->Fill( h7x7-h5x5 ) ;
0794 }
0795
0796 if( trackChargeIso && hcalNeutIso) {
0797
0798 if(ecalNeutIso ) {
0799
0800 h_trackP[5] ->Fill((*t_trackP)[itrk] );
0801 h_trackPt[5] ->Fill((*t_trackPt)[itrk] );
0802 h_trackEta[5] ->Fill((*t_trackEta)[itrk] );
0803 h_trackPhi[5] ->Fill((*t_trackPhi)[itrk] );
0804 h_trackDxy[5] ->Fill((*t_trackDxyPV)[itrk]);
0805 h_trackDz[5] ->Fill((*t_trackDzPV )[itrk]);
0806 h_trackChiSq[5]->Fill((*t_trackChiSq)[itrk] );
0807
0808 NIsoTrk++;
0809
0810 if( pt1>1.0 && std::abs(eta1)<2.3 ) {
0811 double etot11x11=0, etot9x9=0, etot7x7=0;
0812 if( std::abs(eta1)<1.7 ){
0813 etot11x11=e11x11+h3x3;
0814 etot9x9 =e9x9+h3x3;
0815 etot7x7 =e7x7+h3x3;
0816 } else {
0817 etot11x11=(*t_e11x11_20Sig)[itrk]+h3x3;
0818 etot9x9 =(*t_e9x9_20Sig)[itrk]+h3x3;
0819 etot7x7 =(*t_e7x7_20Sig)[itrk]+h3x3;
0820 }
0821 h_trackPCaloE11x11H3x3[NEtaBins]->Fill( p1, etot11x11);
0822 h_trackPCaloE9x9H3x3[NEtaBins] ->Fill( p1, etot9x9);
0823 h_trackPCaloE7x7H3x3[NEtaBins] ->Fill( p1, etot7x7);
0824
0825 h_trackPCaloE11x11H3x3[iTrkEtaBin]->Fill( p1, etot11x11);
0826 h_trackPCaloE9x9H3x3[iTrkEtaBin] ->Fill( p1, etot9x9);
0827 h_trackPCaloE7x7H3x3[iTrkEtaBin] ->Fill( p1, etot7x7);
0828 }
0829
0830 if( p1>3.0 && p1<4.0) h_eECAL11x11VsHCAL3x3[iTrkEtaBin]->Fill(e11x11, h3x3);
0831
0832
0833 h_eECAL7x7_Frac [iTrkMomBin][iTrkEtaBin]->Fill(e7x7/p1);
0834 h_eECAL9x9_Frac [iTrkMomBin][iTrkEtaBin]->Fill(e9x9/p1);
0835 h_eECAL11x11_Frac[iTrkMomBin][iTrkEtaBin]->Fill(e11x11/p1);
0836 h_eECAL15x15_Frac[iTrkMomBin][iTrkEtaBin]->Fill(e15x15/p1);
0837
0838 hh_eECAL7x7_Frac [iTrkEtaBin]->Fill(e7x7/p1);
0839 hh_eECAL9x9_Frac [iTrkEtaBin]->Fill(e9x9/p1);
0840 hh_eECAL11x11_Frac[iTrkEtaBin]->Fill(e11x11/p1);
0841 hh_eECAL15x15_Frac[iTrkEtaBin]->Fill(e15x15/p1);
0842
0843
0844 h_eHCAL3x3_Frac[iTrkMomBin][iTrkEtaBin]->Fill(h3x3/p1);
0845 h_eHCAL5x5_Frac[iTrkMomBin][iTrkEtaBin]->Fill(h5x5/p1);
0846 h_eHCAL7x7_Frac[iTrkMomBin][iTrkEtaBin]->Fill(h7x7/p1);
0847 if( e7x7<0.7) {
0848 h_eHCAL3x3MIP_Frac[iTrkMomBin][iTrkEtaBin]->Fill(h3x3/p1);
0849 h_eHCAL5x5MIP_Frac[iTrkMomBin][iTrkEtaBin]->Fill(h5x5/p1);
0850 h_eHCAL7x7MIP_Frac[iTrkMomBin][iTrkEtaBin]->Fill(h7x7/p1);
0851 }
0852 hh_eHCAL3x3_Frac[iTrkEtaBin]->Fill(h3x3/p1);
0853 hh_eHCAL5x5_Frac[iTrkEtaBin]->Fill(h5x5/p1);
0854 hh_eHCAL7x7_Frac[iTrkEtaBin]->Fill(h7x7/p1);
0855
0856
0857 h_eHCAL3x3_eECAL11x11_response[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e11x11)/p1);
0858 h_eHCAL5x5_eECAL11x11_response[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e11x11)/p1);
0859 h_eHCAL7x7_eECAL11x11_response[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e11x11)/p1);
0860 if( e7x7<0.7) {
0861 h_eHCAL3x3_eECAL11x11_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e11x11)/p1);
0862 h_eHCAL5x5_eECAL11x11_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e11x11)/p1);
0863 h_eHCAL7x7_eECAL11x11_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e11x11)/p1);
0864 } else {
0865 h_eHCAL3x3_eECAL11x11_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e11x11)/p1);
0866 h_eHCAL5x5_eECAL11x11_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e11x11)/p1);
0867 h_eHCAL7x7_eECAL11x11_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e11x11)/p1);
0868 }
0869
0870 h_eHCAL3x3_eECAL9x9_response[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e9x9)/p1);
0871 h_eHCAL5x5_eECAL9x9_response[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e9x9)/p1);
0872 h_eHCAL7x7_eECAL9x9_response[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e9x9)/p1);
0873 if( e7x7<0.700) {
0874 h_eHCAL3x3_eECAL9x9_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e9x9)/p1);
0875 h_eHCAL5x5_eECAL9x9_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e9x9)/p1);
0876 h_eHCAL7x7_eECAL9x9_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e9x9)/p1);
0877 } else {
0878 h_eHCAL3x3_eECAL9x9_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e9x9)/p1);
0879 h_eHCAL5x5_eECAL9x9_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e9x9)/p1);
0880 h_eHCAL7x7_eECAL9x9_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e9x9)/p1);
0881 }
0882
0883 h_eHCAL3x3_eECAL7x7_response[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e7x7)/p1);
0884 h_eHCAL5x5_eECAL7x7_response[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e7x7)/p1);
0885 h_eHCAL7x7_eECAL7x7_response[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e7x7)/p1);
0886 if( e7x7<0.700) {
0887 h_eHCAL3x3_eECAL7x7_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e7x7)/p1);
0888 h_eHCAL5x5_eECAL7x7_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e7x7)/p1);
0889 h_eHCAL7x7_eECAL7x7_responseMIP[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e7x7)/p1);
0890 } else {
0891 h_eHCAL3x3_eECAL7x7_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+e7x7)/p1);
0892 h_eHCAL5x5_eECAL7x7_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+e7x7)/p1);
0893 h_eHCAL7x7_eECAL7x7_responseInteract[iTrkMomBin][iTrkEtaBin]->Fill((h7x7+e7x7)/p1);
0894 }
0895 }
0896
0897
0898
0899
0900
0901 bool ecalNeutIso20Sig = true;
0902 if( std::abs(eta1)<1.47 ) if( (*t_e15x15_20Sig)[itrk]-(*t_e11x11_20Sig)[itrk] > ebNeutIso ) ecalNeutIso20Sig=false;
0903 if( std::abs(eta1)>1.47 ) if( (*t_e15x15_20Sig)[itrk]-(*t_e11x11_20Sig)[itrk] > eeNeutIso ) ecalNeutIso20Sig=false;
0904 if(ecalNeutIso20Sig) {
0905
0906 h_meanTrackP[iTrkMomBin][iTrkEtaBin]->Fill(p1);
0907 h_eECAL11x11_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((*t_e11x11_20Sig)[itrk]/p1);
0908 h_eECAL9x9_Frac_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((*t_e9x9_20Sig)[itrk]/p1);
0909 h_eECAL7x7_Frac_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((*t_e7x7_20Sig)[itrk]/p1);
0910
0911 hh_eECAL11x11_Frac_20Sig[iTrkEtaBin]->Fill((*t_e11x11_20Sig)[itrk]/p1);
0912 hh_eECAL9x9_Frac_20Sig [iTrkEtaBin]->Fill((*t_e9x9_20Sig)[itrk]/p1);
0913 hh_eECAL7x7_Frac_20Sig [iTrkEtaBin]->Fill((*t_e7x7_20Sig)[itrk]/p1);
0914
0915 h_eHCAL3x3_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill(h3x3/p1);
0916 h_eHCAL5x5_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill(h5x5/p1);
0917 h_eHCAL7x7_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill(h7x7/p1);
0918 if((*t_e7x7_20Sig)[itrk]<0.7 ) {
0919 h_eHCAL3x3MIP_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill(h3x3/p1);
0920 h_eHCAL5x5MIP_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill(h5x5/p1);
0921 h_eHCAL7x7MIP_Frac_20Sig[iTrkMomBin][iTrkEtaBin]->Fill(h7x7/p1);
0922 }
0923 hh_eHCAL3x3_Frac_20Sig[iTrkEtaBin]->Fill(h3x3/p1);
0924 hh_eHCAL5x5_Frac_20Sig[iTrkEtaBin]->Fill(h5x5/p1);
0925 hh_eHCAL7x7_Frac_20Sig[iTrkEtaBin]->Fill(h7x7/p1);
0926
0927 h_eHCAL3x3_eECAL11x11_response_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e11x11_20Sig)[itrk])/p1);
0928 if((*t_e7x7_20Sig)[itrk]<0.7 ) {
0929 h_eHCAL3x3_eECAL11x11_responseMIP_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e11x11_20Sig)[itrk])/p1);
0930 } else {
0931 h_eHCAL3x3_eECAL11x11_responseInteract_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e11x11_20Sig)[itrk])/p1);
0932 }
0933 h_eHCAL3x3_eECAL9x9_response_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e9x9_20Sig)[itrk])/p1);
0934 if((*t_e7x7_20Sig)[itrk]<0.7 ) {
0935 h_eHCAL3x3_eECAL9x9_responseMIP_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e9x9_20Sig)[itrk])/p1);
0936 } else {
0937 h_eHCAL3x3_eECAL9x9_responseInteract_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e9x9_20Sig)[itrk])/p1);
0938 }
0939 h_eHCAL3x3_eECAL7x7_response_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e7x7_20Sig)[itrk])/p1);
0940 if((*t_e7x7_20Sig)[itrk]<0.7 ) {
0941 h_eHCAL3x3_eECAL7x7_responseMIP_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e7x7_20Sig)[itrk])/p1);
0942 } else {
0943 h_eHCAL3x3_eECAL7x7_responseInteract_20Sig [iTrkMomBin][iTrkEtaBin]->Fill((h3x3+(*t_e7x7_20Sig)[itrk])/p1);
0944 }
0945 h_eHCAL5x5_eECAL11x11_response_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+(*t_e11x11_20Sig)[itrk])/p1);
0946 if((*t_e7x7_20Sig)[itrk]<0.7 ) {
0947 h_eHCAL5x5_eECAL11x11_responseMIP_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+(*t_e11x11_20Sig)[itrk])/p1);
0948 } else {
0949 h_eHCAL5x5_eECAL11x11_responseInteract_20Sig[iTrkMomBin][iTrkEtaBin]->Fill((h5x5+(*t_e11x11_20Sig)[itrk])/p1);
0950 }
0951
0952 }
0953
0954 }
0955
0956 }
0957
0958 }
0959
0960 if( runNIsoTrkList.find(t_RunNo) != runNIsoTrkList.end() ) {
0961 runNIsoTrkList[t_RunNo] += NIsoTrk;
0962 } else {
0963 runNIsoTrkList.insert( std::pair<unsigned int, unsigned int>(t_RunNo,NIsoTrk) );
0964 if (debug) std::cout << "runNo " << t_RunNo <<" "<<runNIsoTrkList[t_RunNo]<<std::endl;
0965 }
0966
0967 }
0968
0969 std::cout<<"Number of entries in tree "<<nentries << "\n"
0970 <<"nEventsGoodRuns "<<nEventsGoodRuns << "\n"
0971 <<"nEventsValidPV "<<nEventsValidPV << " " <<(double)nEventsValidPV/nEventsGoodRuns << "\n"
0972 <<"nEventsPVTracks "<<nEventsPVTracks << " " <<(double)nEventsPVTracks/nEventsGoodRuns << "\n"
0973 << std::endl;
0974
0975 std::cout << "saved runEvtList " << std::endl;
0976 std::map<unsigned int, unsigned int>::iterator runEvtListItr = runEvtList.begin();
0977 long total=0;
0978 for(runEvtListItr=runEvtList.begin(); runEvtListItr != runEvtList.end(); runEvtListItr++) {
0979 std::cout<<runEvtListItr->first << " "<< runEvtListItr->second << std::endl;
0980 total += runEvtListItr->second;
0981 }
0982 std::cout<<"Total " << total << std::endl << std::endl;
0983
0984 total = 0;
0985 std::cout << "Number of tracks in runs " << std::endl;
0986 std::map<unsigned int, unsigned int>::iterator runNTrkListItr = runNTrkList.begin();
0987 for(runNTrkListItr=runNTrkList.begin(); runNTrkListItr != runNTrkList.end(); runNTrkListItr++) {
0988 std::cout<<runNTrkListItr->first << " "<< runNTrkListItr->second << std::endl;
0989 total += runNTrkListItr->second;
0990 }
0991 std::cout<<"Total " << total << std::endl << std::endl;
0992
0993 total = 0;
0994 std::cout << "Number of isolated tracks in runs " << std::endl;
0995 std::map<unsigned int, unsigned int>::iterator runNIsoTrkListItr = runNIsoTrkList.begin();
0996 for(runNIsoTrkListItr=runNIsoTrkList.begin(); runNIsoTrkListItr != runNIsoTrkList.end(); runNIsoTrkListItr++) {
0997 std::cout<<runNIsoTrkListItr->first << " "<< runNIsoTrkListItr->second << std::endl;
0998 total += runNIsoTrkListItr->second;
0999 }
1000 std::cout<<"Total " << total << std::endl << std::endl;
1001 }
1002
1003 Bool_t TreeAnalysisHcalNZS::Notify() {
1004
1005
1006
1007
1008
1009
1010 return kTRUE;
1011 }
1012
1013 void TreeAnalysisHcalNZS::Show(Long64_t entry) {
1014
1015
1016 if (!fChain) return;
1017 fChain->Show(entry);
1018 }
1019
1020 double TreeAnalysisHcalNZS::DeltaPhi(double v1, double v2) {
1021
1022
1023
1024 double pi = 3.141592654;
1025 double twopi = 6.283185307;
1026
1027 double diff = std::abs(v2 - v1);
1028 double corr = twopi - diff;
1029 if (diff < pi){ return diff;} else { return corr;}
1030 }
1031
1032 double TreeAnalysisHcalNZS::DeltaR(double eta1, double phi1, double eta2, double phi2) {
1033 double deta = eta1 - eta2;
1034 double dphi = DeltaPhi(phi1, phi2);
1035 return std::sqrt(deta*deta + dphi*dphi);
1036 }
1037
1038 void TreeAnalysisHcalNZS::BookHistograms(const char *outFileName) {
1039
1040 fout = new TFile(outFileName, "RECREATE");
1041
1042 fout->cd();
1043
1044 char hname[1000], htit[1000];
1045
1046 TDirectory *d_caloTrkPProfile = fout->mkdir( "ProfileTrackPcaloEne" );
1047 d_caloTrkPProfile->cd();
1048 for (int ibin=0; ibin<=NEtaBins; ibin++) {
1049 if (ibin == NEtaBins) sprintf (htit, "CaloEne(E11x11+H3x3) as trackP:|#eta|<%f", genPartEtaBins[NEtaBins]);
1050 else sprintf (htit, "CaloEne(E11x11+H3x3) as trackP:%f<|#eta|<%f", genPartEtaBins[ibin],genPartEtaBins[ibin+1]);
1051 sprintf (hname, "h_trackPCaloE11x11H3x3_%d", ibin);
1052 h_trackPCaloE11x11H3x3[ibin] = new TProfile(hname, htit, 15, genPartPBins);
1053 if (ibin == NEtaBins) sprintf (htit, "CaloEne(E9x9+H3x3) as trackP:|#eta|<%f", genPartEtaBins[NEtaBins]);
1054 else sprintf (htit, "CaloEne(E9x9+H3x3) as trackP:%f<|#eta|<%f", genPartEtaBins[ibin],genPartEtaBins[ibin+1]);
1055 sprintf (hname, "h_trackPCaloE9x9H3x3_%d", ibin);
1056 h_trackPCaloE9x9H3x3[ibin] = new TProfile(hname, htit, 15, genPartPBins);
1057 if (ibin == NEtaBins) sprintf (htit, "CaloEne(E7x7+H3x3) as trackP:|#eta|<%f", genPartEtaBins[NEtaBins]);
1058 else sprintf (htit, "CaloEne(E7x7+H3x3) as trackP:%f<|#eta|<%f", genPartEtaBins[ibin],genPartEtaBins[ibin+1]);
1059 sprintf (hname, "h_trackPCaloE7x7H3x3_%d", ibin);
1060 h_trackPCaloE7x7H3x3[ibin] = new TProfile(hname, htit, 15, genPartPBins);
1061 }
1062
1063 fout->cd();
1064 for (int i=0; i<2; ++i) {
1065 sprintf (hname, "h_NPV_%d", i);
1066 h_NPV[i] = new TH1F(hname, hname, 10, -0.5, 9.5);
1067 h_NPV[i] ->Sumw2();
1068 sprintf (hname, "h_PVx_%d", i);
1069 h_PVx[i] = new TH1F(hname, hname, 40, -2.0, 2.0);
1070 h_PVx[i] ->Sumw2();
1071 sprintf (hname, "h_PVy_%d", i);
1072 h_PVy[i] = new TH1F(hname, hname, 40, -2.0, 2.0);
1073 h_PVy[i] ->Sumw2();
1074 sprintf (hname, "h_PVr_%d", i);
1075 h_PVr[i] = new TH1F(hname, hname, 100, 0.0, 3.0);
1076 h_PVr[i] ->Sumw2();
1077 sprintf (hname, "h_PVz_%d", i);
1078 h_PVz[i] = new TH1F(hname, hname, 100,-20.0, 20.0);
1079 h_PVz[i] ->Sumw2();
1080 sprintf (hname, "h_PVNDOF_%d", i);
1081 h_PVNDOF[i] = new TH1F(hname, hname, 300, -0.5, 299.5);
1082 h_PVNDOF[i] ->Sumw2();
1083 sprintf (hname, "h_PVNTracks_%d", i);
1084 h_PVNTracks[i] = new TH1F(hname, hname, 300, 0.0, 300.0);
1085 h_PVNTracks[i] ->Sumw2();
1086 sprintf (hname, "h_PVTracksSumPt_%d", i);
1087 h_PVTracksSumPt[i] = new TH1F(hname, hname, 300, 0.0, 300.0);
1088 h_PVTracksSumPt[i] ->Sumw2();
1089 sprintf (hname, "h_PVNTracksWt_%d", i);
1090 h_PVNTracksWt[i] = new TH1F(hname, hname, 300, 0.0, 300.0);
1091 h_PVNTracksWt[i] ->Sumw2();
1092 sprintf (hname, "h_PVTracksSumPtWt_%d", i);
1093 h_PVTracksSumPtWt[i] = new TH1F(hname, hname, 300, 0.0, 300.0);
1094 h_PVTracksSumPtWt[i] ->Sumw2();
1095 sprintf (hname, "h_PVNTracksSumPt_%d", i);
1096 h_PVNTracksSumPt[i] = new TH2F(hname, hname, 100,0.0,100.0, 100,0.0,100.0);
1097 }
1098
1099 std::string subtitle[6] = {"All HighPirity Tracks",
1100 "good first PV & Iso in Ecal31x31",
1101 "good first PV & Iso in Ecal31x31 & Pt>1.0",
1102 "good first PV & Iso in Ecal31x31 & Pt>1.0 & NoIntInTracker",
1103 "good first PV & Iso in Ecal31x31 & Pt>1.0 & NoIntInTracker & |dxy|<0.2,|dz|<0.2,chisq<5.0",
1104 "Fully Isolated"};
1105 for (int i=0; i<6; ++i) {
1106 sprintf (hname, "h_trackP_%d", i);
1107 sprintf (htit, "P: %s", subtitle[i].c_str());
1108 h_trackP[i] = new TH1F(hname, htit, 15, genPartPBins);
1109 h_trackP[i] ->Sumw2();
1110 sprintf (hname, "h_trackPt_%d", i);
1111 sprintf (htit, "Pt: %s", subtitle[i].c_str());
1112 h_trackPt[i] = new TH1F(hname, htit, 15, genPartPBins);
1113 h_trackPt[i] ->Sumw2();
1114 sprintf (hname, "h_trackEta_%d", i);
1115 sprintf (htit, "Eta: %s", subtitle[i].c_str());
1116 h_trackEta[i] = new TH1F(hname, htit, 100, -3.0, 3.0);
1117 h_trackEta[i] ->Sumw2();
1118 sprintf (hname, "h_trackPhi_%d", i);
1119 sprintf (htit, "Phi: %s", subtitle[i].c_str());
1120 h_trackPhi[i] = new TH1F(hname, htit, 100, -3.14159, 3.14159);
1121 h_trackPhi[i] ->Sumw2();
1122 sprintf (hname, "h_trackChiSq_%d", i);
1123 sprintf (htit, "ChiSq:%s", subtitle[i].c_str());
1124 h_trackChiSq[i] = new TH1F(hname, htit, 200, 0.0,20.0);
1125 h_trackChiSq[i]->Sumw2();
1126 sprintf (hname, "h_trackDxyPV_%d", i);
1127 sprintf (htit, "DxyPV:%s", subtitle[i].c_str());
1128 h_trackDxy[i] = new TH1F(hname, htit, 200, -1.0, 1.0);
1129 h_trackDxy[i] ->Sumw2();
1130 sprintf (hname, "h_trackDzPV_%d", i);
1131 sprintf (htit, "DzPV:%s", subtitle[i].c_str());
1132 h_trackDz[i] = new TH1F(hname, htit, 200, -1.0, 1.0);
1133 h_trackDz[i] ->Sumw2();
1134 }
1135
1136 for(int ieta=0; ieta<NEtaBins; ieta++) {
1137 double lowEta=-5.0, highEta= 5.0;
1138 lowEta = genPartEtaBins[ieta];
1139 highEta = genPartEtaBins[ieta+1];
1140
1141 sprintf(hname, "h_trackPhi_2_2_etaBin%i",ieta);
1142 sprintf(htit, "h_trackPhi(pt>1.0, iso in 31x31) : %3.2f<|#eta|<%3.2f)", lowEta, highEta);
1143 h_trackPhi_2_2[ieta]= new TH1F(hname, htit, 100, -3.14159, 3.14159);
1144 sprintf(hname, "h_trackPhi_3_3_etaBin%i",ieta);
1145 sprintf(htit, "h_trackPhi(pt>1.0, iso in 31x31,no missing hit) : %3.2f<|#eta|<%3.2f)", lowEta, highEta);
1146 h_trackPhi_3_3[ieta]= new TH1F(hname, htit, 100, -3.14159, 3.14159);
1147
1148 sprintf(hname, "h_trackPhi_3_Inner_etaBin%i",ieta);
1149 sprintf(htit, "h_trackPhi(pt>1.0, iso in 31x31,no missing Inner hit) : %3.2f<|#eta|<%3.2f)", lowEta, highEta);
1150 h_trackPhi_3_Inner[ieta]= new TH1F(hname, htit, 100, -3.14159, 3.14159);
1151
1152 sprintf(hname, "h_trackPhi_3_Outer_etaBin%i",ieta);
1153 sprintf(htit, "h_trackPhi(pt>1.0, iso in 31x31,no missing Outer hit) : %3.2f<|#eta|<%3.2f)", lowEta, highEta);
1154 h_trackPhi_3_Outer[ieta]= new TH1F(hname, htit, 100, -3.14159, 3.14159);
1155
1156 }
1157
1158 TDirectory *d_meanTrackP = fout->mkdir( "MeanTrackP" );
1159 TDirectory *d_maxNearP = fout->mkdir( "MaxNearP" );
1160 TDirectory *d_neutralIso = fout->mkdir( "NeutralIsolation" );
1161 TDirectory* d_trProf1 = fout->mkdir( "EcalTranverseProfile" );
1162 TDirectory* d_trProf2 = fout->mkdir( "HcalTranverseProfile" );
1163 TDirectory* d_response = fout->mkdir( "Response" );
1164 TDirectory* d_response10Sig= fout->mkdir( "Response10Sig" );
1165 TDirectory* d_response15Sig= fout->mkdir( "Response15Sig" );
1166 TDirectory* d_response20Sig= fout->mkdir( "Response20Sig" );
1167 TDirectory* d_response25Sig= fout->mkdir( "Response25Sig" );
1168 TDirectory* d_response30Sig= fout->mkdir( "Response30Sig" );
1169 TDirectory *d_drTrackL1 = fout->mkdir( "DrTrackL1" );
1170
1171 for (int ieta=0; ieta<NEtaBins; ieta++) {
1172 double lowEta=-5.0, highEta= 5.0;
1173 lowEta = genPartEtaBins[ieta];
1174 highEta = genPartEtaBins[ieta+1];
1175
1176 sprintf(hname, "h_eECAL11x11VsHCAL3x3_etaBin%i",ieta);
1177 sprintf(htit, "eEvseH : %3.2f<|#eta|<%3.2f)", lowEta, highEta);
1178 h_eECAL11x11VsHCAL3x3[ieta] = new TH2F(hname, hname, 220, -1.0, 10.0, 220, -1.0, 10.0);
1179
1180 d_trProf1->cd();
1181 sprintf(hname, "hh_eECAL7x7Frac_etaBin%i", ieta);
1182 sprintf(htit, "eECAL7x7/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1183 hh_eECAL7x7_Frac[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1184 hh_eECAL7x7_Frac[ieta] ->Sumw2();
1185 sprintf(hname, "hh_eECAL9x9Frac_etaBin%i", ieta);
1186 sprintf(htit, "eECAL9x9/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1187 hh_eECAL9x9_Frac[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1188 hh_eECAL9x9_Frac[ieta] ->Sumw2();
1189 sprintf(hname, "hh_eECAL11x11Frac_etaBin%i", ieta);
1190 sprintf(htit, "eECAL11x11/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1191 hh_eECAL11x11_Frac[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1192 hh_eECAL11x11_Frac[ieta] ->Sumw2();
1193 sprintf(hname, "hh_eECAL15x15Frac_etaBin%i", ieta);
1194 sprintf(htit, "eECAL15x15/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1195 hh_eECAL15x15_Frac[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1196 hh_eECAL15x15_Frac[ieta] ->Sumw2();
1197
1198 sprintf(hname, "hh_eECAL7x7Frac20Sig_etaBin%i", ieta);
1199 sprintf(htit, "eECAL7x7/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1200 hh_eECAL7x7_Frac_20Sig[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1201 hh_eECAL7x7_Frac_20Sig[ieta] ->Sumw2();
1202 sprintf(hname, "hh_eECAL9x9Frac20Sig_etaBin%i", ieta);
1203 sprintf(htit, "eECAL9x9/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1204 hh_eECAL9x9_Frac_20Sig[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1205 hh_eECAL9x9_Frac_20Sig[ieta] ->Sumw2();
1206 sprintf(hname, "hh_eECAL11x11Frac20Sig_etaBin%i", ieta);
1207 sprintf(htit, "eECAL11x11/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1208 hh_eECAL11x11_Frac_20Sig[ieta] = new TH1F(hname, htit, 500, -1.0, 4.0);
1209 hh_eECAL11x11_Frac_20Sig[ieta] ->Sumw2();
1210
1211 d_trProf2->cd();
1212 sprintf(hname, "hh_eHCAL3x3Frac_etaBin%i", ieta);
1213 sprintf(htit, "eHCAL3x3/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1214 hh_eHCAL3x3_Frac[ieta] = new TH1F(hname, htit, 500, -2.0, 4.0);
1215 hh_eHCAL3x3_Frac[ieta] ->Sumw2();
1216 sprintf(hname, "hh_eHCAL5x5Frac_etaBin%i", ieta);
1217 sprintf(htit, "eHCAL5x5/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1218 hh_eHCAL5x5_Frac[ieta] = new TH1F(hname, htit, 500, -2.0, 4.0);
1219 hh_eHCAL5x5_Frac[ieta] ->Sumw2();
1220 sprintf(hname, "hh_eHCAL7x7Frac_etaBin%i", ieta);
1221 sprintf(htit, "eHCAL7x7/trkP (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1222 hh_eHCAL7x7_Frac[ieta] = new TH1F(hname, htit, 500, -2.0, 4.0);
1223 hh_eHCAL7x7_Frac[ieta] ->Sumw2();
1224
1225 sprintf(hname, "hh_eHCAL3x3Frac20Sig_etaBin%i", ieta);
1226 sprintf(htit, "eHCAL3x3/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1227 hh_eHCAL3x3_Frac_20Sig[ieta] = new TH1F(hname, htit, 500, -2.0, 4.0);
1228 hh_eHCAL3x3_Frac_20Sig[ieta] ->Sumw2();
1229 sprintf(hname, "hh_eHCAL5x5Frac20Sig_etaBin%i", ieta);
1230 sprintf(htit, "eHCAL5x5/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1231 hh_eHCAL5x5_Frac_20Sig[ieta] = new TH1F(hname, htit, 500, -2.0, 4.0);
1232 hh_eHCAL5x5_Frac_20Sig[ieta] ->Sumw2();
1233 sprintf(hname, "hh_eHCAL7x7Frac20Sig_etaBin%i", ieta);
1234 sprintf(htit, "eHCAL7x7/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f)", lowEta, highEta );
1235 hh_eHCAL7x7_Frac_20Sig[ieta] = new TH1F(hname, htit, 500, -2.0, 4.0);
1236 hh_eHCAL7x7_Frac_20Sig[ieta] ->Sumw2();
1237
1238 for(int ipt=0; ipt<NPBins; ipt++) {
1239 double lowP=0.0, highP=300.0;
1240 lowP = genPartPBins[ipt];
1241 highP = genPartPBins[ipt+1];
1242
1243 d_neutralIso->cd();
1244 sprintf(hname, "h_diff_e15x15e11x11_ptBin%i_etaBin%i", ipt, ieta);
1245 sprintf(htit, "h_diff_e15x15e11x11: (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1246 h_diff_e15x15e11x11 [ipt][ieta] = new TH1F(hname, htit, 600, -10.0, 50.0);
1247 sprintf(hname, "h_diff20Sig_e15x15e11x11_ptBin%i_etaBin%i", ipt, ieta);
1248 sprintf(htit, "h_diff20Sig_e15x15e11x11: (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1249 h_diff_e15x15e11x11_20Sig[ipt][ieta] = new TH1F(hname, htit, 600, -10.0, 50.0);
1250 sprintf(hname, "h_diff_h7x7h5x5_ptBin%i_etaBin%i", ipt, ieta);
1251 sprintf(htit, "h_diff_h7x7h5x5: (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1252 h_diff_h7x7h5x5[ipt][ieta] = new TH1F(hname, htit, 600, -10.0, 50.0);
1253
1254 d_maxNearP->cd();
1255 sprintf(hname, "h_maxNearP31x31_ptBin%i_etaBin%i",ipt, ieta);
1256 sprintf(htit, "maxNearP in 31x31 (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1257 h_maxNearP31x31[ipt][ieta] = new TH1F(hname, htit, 220, -2.0, 20.0);
1258 h_maxNearP31x31[ipt][ieta] ->Sumw2();
1259
1260
1261
1262
1263 d_trProf1->cd();
1264 sprintf(hname, "h_eECAL7x7Frac_ptBin%i_etaBin%i", ipt, ieta);
1265 sprintf(htit, "eECAL7x7/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1266 h_eECAL7x7_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1267 h_eECAL7x7_Frac[ipt][ieta] ->Sumw2();
1268 sprintf(hname, "h_eECAL9x9Frac_ptBin%i_etaBin%i", ipt, ieta);
1269 sprintf(htit, "eECAL9x9/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1270 h_eECAL9x9_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1271 h_eECAL9x9_Frac[ipt][ieta] ->Sumw2();
1272 sprintf(hname, "h_eECAL11x11Frac_ptBin%i_etaBin%i", ipt, ieta);
1273 sprintf(htit, "eECAL11x11/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1274 h_eECAL11x11_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1275 h_eECAL11x11_Frac[ipt][ieta] ->Sumw2();
1276 sprintf(hname, "h_eECAL15x15Frac_ptBin%i_etaBin%i", ipt, ieta);
1277 sprintf(htit, "eECAL15x15/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1278 h_eECAL15x15_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1279 h_eECAL15x15_Frac[ipt][ieta] ->Sumw2();
1280
1281
1282 sprintf(hname, "h_eECAL7x7Frac20Sig_ptBin%i_etaBin%i", ipt, ieta);
1283 sprintf(htit, "eECAL7x7/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1284 h_eECAL7x7_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1285 h_eECAL7x7_Frac_20Sig[ipt][ieta] ->Sumw2();
1286 sprintf(hname, "h_eECAL9x9Frac20Sig_ptBin%i_etaBin%i", ipt, ieta);
1287 sprintf(htit, "eECAL9x9/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1288 h_eECAL9x9_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1289 h_eECAL9x9_Frac_20Sig[ipt][ieta] ->Sumw2();
1290 sprintf(hname, "h_eECAL11x11Frac20Sig_ptBin%i_etaBin%i", ipt, ieta);
1291 sprintf(htit, "eECAL11x11/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1292 h_eECAL11x11_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1293 h_eECAL11x11_Frac_20Sig[ipt][ieta] ->Sumw2();
1294
1295
1296
1297 d_trProf2->cd();
1298 sprintf(hname, "h_eHCAL3x3Frac_ptBin%i_etaBin%i", ipt, ieta);
1299 sprintf(htit, "eHCAL3x3/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1300 h_eHCAL3x3_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1301 h_eHCAL3x3_Frac[ipt][ieta] ->Sumw2();
1302 sprintf(hname, "h_eHCAL5x5Frac_ptBin%i_etaBin%i", ipt, ieta);
1303 sprintf(htit, "eHCAL5x5/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1304 h_eHCAL5x5_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1305 h_eHCAL5x5_Frac[ipt][ieta] ->Sumw2();
1306 sprintf(hname, "h_eHCAL7x7Frac_ptBin%i_etaBin%i", ipt, ieta);
1307 sprintf(htit, "eHCAL7x7/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1308 h_eHCAL7x7_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1309 h_eHCAL7x7_Frac[ipt][ieta] ->Sumw2();
1310
1311 sprintf(hname, "h_eHCAL3x3Frac20Sig_ptBin%i_etaBin%i", ipt, ieta);
1312 sprintf(htit, "eHCAL3x3/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1313 h_eHCAL3x3_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1314 h_eHCAL3x3_Frac_20Sig[ipt][ieta] ->Sumw2();
1315 sprintf(hname, "h_eHCAL5x5Frac20Sig_ptBin%i_etaBin%i", ipt, ieta);
1316 sprintf(htit, "eHCAL5x5/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1317 h_eHCAL5x5_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1318 h_eHCAL5x5_Frac_20Sig[ipt][ieta] ->Sumw2();
1319 sprintf(hname, "h_eHCAL7x7Frac20Sig_ptBin%i_etaBin%i", ipt, ieta);
1320 sprintf(htit, "eHCAL7x7/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1321 h_eHCAL7x7_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1322 h_eHCAL7x7_Frac_20Sig[ipt][ieta] ->Sumw2();
1323
1324 sprintf(hname, "h_eHCAL3x3FracMIP_ptBin%i_etaBin%i", ipt, ieta);
1325 sprintf(htit, "eHCAL3x3MIP/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1326 h_eHCAL3x3MIP_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1327 h_eHCAL3x3MIP_Frac[ipt][ieta] ->Sumw2();
1328 sprintf(hname, "h_eHCAL5x5FracMIP_ptBin%i_etaBin%i", ipt, ieta);
1329 sprintf(htit, "eHCAL5x5MIP/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1330 h_eHCAL5x5MIP_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1331 h_eHCAL5x5MIP_Frac[ipt][ieta] ->Sumw2();
1332 sprintf(hname, "h_eHCAL7x7FracMIP_ptBin%i_etaBin%i", ipt, ieta);
1333 sprintf(htit, "eHCAL7x7MIP/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1334 h_eHCAL7x7MIP_Frac[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1335 h_eHCAL7x7MIP_Frac[ipt][ieta] ->Sumw2();
1336
1337 sprintf(hname, "h_eHCAL3x3FracMIP20Sig_ptBin%i_etaBin%i", ipt, ieta);
1338 sprintf(htit, "eHCAL3x3MIP/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1339 h_eHCAL3x3MIP_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1340 h_eHCAL3x3MIP_Frac_20Sig[ipt][ieta] ->Sumw2();
1341 sprintf(hname, "h_eHCAL5x5FracMIP20Sig_ptBin%i_etaBin%i", ipt, ieta);
1342 sprintf(htit, "eHCAL5x5MIP/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1343 h_eHCAL5x5MIP_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1344 h_eHCAL5x5MIP_Frac_20Sig[ipt][ieta] ->Sumw2();
1345 sprintf(hname, "h_eHCAL7x7FracMIP20Sig_ptBin%i_etaBin%i", ipt, ieta);
1346 sprintf(htit, "eHCAL7x7MIP/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1347 h_eHCAL7x7MIP_Frac_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1348 h_eHCAL7x7MIP_Frac_20Sig[ipt][ieta] ->Sumw2();
1349
1350
1351 d_response->cd();
1352 sprintf(hname, "h_Response_eHCAL3x3_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1353 sprintf(htit, "(eHCAL3x3+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1354 h_eHCAL3x3_eECAL11x11_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1355 h_eHCAL3x3_eECAL11x11_response[ipt][ieta] ->Sumw2();
1356 sprintf(hname, "h_Response_eHCAL5x5_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1357 sprintf(htit, "(eHCAL5x5+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1358 h_eHCAL5x5_eECAL11x11_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1359 h_eHCAL5x5_eECAL11x11_response[ipt][ieta] ->Sumw2();
1360 sprintf(hname, "h_Response_eHCAL7x7_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1361 sprintf(htit, "(eHCAL7x7+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1362 h_eHCAL7x7_eECAL11x11_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1363 h_eHCAL7x7_eECAL11x11_response[ipt][ieta] ->Sumw2();
1364
1365 sprintf(hname, "h_ResponseMIP_eHCAL3x3_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1366 sprintf(htit, "(eHCAL3x3MIP+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1367 h_eHCAL3x3_eECAL11x11_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1368 h_eHCAL3x3_eECAL11x11_responseMIP[ipt][ieta] ->Sumw2();
1369 sprintf(hname, "h_ResponseMIP_eHCAL5x5_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1370 sprintf(htit, "(eHCAL5x5MIP+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1371 h_eHCAL5x5_eECAL11x11_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1372 h_eHCAL5x5_eECAL11x11_responseMIP[ipt][ieta] ->Sumw2();
1373 sprintf(hname, "h_ResponseMIP_eHCAL7x7_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1374 sprintf(htit, "(eHCAL7x7MIP+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1375 h_eHCAL7x7_eECAL11x11_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1376 h_eHCAL7x7_eECAL11x11_responseMIP[ipt][ieta] ->Sumw2();
1377
1378 sprintf(hname, "h_ResponseInteract_eHCAL3x3_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1379 sprintf(htit, "(eHCAL3x3Interact+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1380 h_eHCAL3x3_eECAL11x11_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1381 h_eHCAL3x3_eECAL11x11_responseInteract[ipt][ieta] ->Sumw2();
1382 sprintf(hname, "h_ResponseInteract_eHCAL5x5_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1383 sprintf(htit, "(eHCAL5x5Interact+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1384 h_eHCAL5x5_eECAL11x11_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1385 h_eHCAL5x5_eECAL11x11_responseInteract[ipt][ieta] ->Sumw2();
1386 sprintf(hname, "h_ResponseInteract_eHCAL7x7_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1387 sprintf(htit, "(eHCAL7x7Interact+eECAL11x11)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1388 h_eHCAL7x7_eECAL11x11_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1389 h_eHCAL7x7_eECAL11x11_responseInteract[ipt][ieta] ->Sumw2();
1390
1391 sprintf(hname, "h_Response_eHCAL3x3_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1392 sprintf(htit, "(eHCAL3x3+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1393 h_eHCAL3x3_eECAL9x9_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1394 h_eHCAL3x3_eECAL9x9_response[ipt][ieta] ->Sumw2();
1395 sprintf(hname, "h_Response_eHCAL5x5_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1396 sprintf(htit, "(eHCAL5x5+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1397 h_eHCAL5x5_eECAL9x9_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1398 h_eHCAL5x5_eECAL9x9_response[ipt][ieta] ->Sumw2();
1399 sprintf(hname, "h_Response_eHCAL7x7_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1400 sprintf(htit, "(eHCAL7x7+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1401 h_eHCAL7x7_eECAL9x9_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1402 h_eHCAL7x7_eECAL9x9_response[ipt][ieta] ->Sumw2();
1403
1404 sprintf(hname, "h_ResponseMIP_eHCAL3x3_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1405 sprintf(htit, "(eHCAL3x3MIP+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1406 h_eHCAL3x3_eECAL9x9_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1407 h_eHCAL3x3_eECAL9x9_responseMIP[ipt][ieta] ->Sumw2();
1408 sprintf(hname, "h_ResponseMIP_eHCAL5x5_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1409 sprintf(htit, "(eHCAL5x5MIP+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1410 h_eHCAL5x5_eECAL9x9_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1411 h_eHCAL5x5_eECAL9x9_responseMIP[ipt][ieta] ->Sumw2();
1412 sprintf(hname, "h_ResponseMIP_eHCAL7x7_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1413 sprintf(htit, "(eHCAL7x7MIP+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1414 h_eHCAL7x7_eECAL9x9_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1415 h_eHCAL7x7_eECAL9x9_responseMIP[ipt][ieta] ->Sumw2();
1416
1417 sprintf(hname, "h_ResponseInteract_eHCAL3x3_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1418 sprintf(htit, "(eHCAL3x3Interact+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1419 h_eHCAL3x3_eECAL9x9_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1420 h_eHCAL3x3_eECAL9x9_responseInteract[ipt][ieta] ->Sumw2();
1421 sprintf(hname, "h_ResponseInteract_eHCAL5x5_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1422 sprintf(htit, "(eHCAL5x5Interact+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1423 h_eHCAL5x5_eECAL9x9_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1424 h_eHCAL5x5_eECAL9x9_responseInteract[ipt][ieta] ->Sumw2();
1425 sprintf(hname, "h_ResponseInteract_eHCAL7x7_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1426 sprintf(htit, "(eHCAL7x7Interact+eECAL9x9)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1427 h_eHCAL7x7_eECAL9x9_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1428 h_eHCAL7x7_eECAL9x9_responseInteract[ipt][ieta] ->Sumw2();
1429
1430
1431 sprintf(hname, "h_Response_eHCAL3x3_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1432 sprintf(htit, "(eHCAL3x3+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1433 h_eHCAL3x3_eECAL7x7_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1434 h_eHCAL3x3_eECAL7x7_response[ipt][ieta] ->Sumw2();
1435 sprintf(hname, "h_Response_eHCAL5x5_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1436 sprintf(htit, "(eHCAL5x5+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1437 h_eHCAL5x5_eECAL7x7_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1438 h_eHCAL5x5_eECAL7x7_response[ipt][ieta] ->Sumw2();
1439 sprintf(hname, "h_Response_eHCAL7x7_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1440 sprintf(htit, "(eHCAL7x7+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1441 h_eHCAL7x7_eECAL7x7_response[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1442 h_eHCAL7x7_eECAL7x7_response[ipt][ieta] ->Sumw2();
1443
1444 sprintf(hname, "h_ResponseMIP_eHCAL3x3_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1445 sprintf(htit, "(eHCAL3x3MIP+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1446 h_eHCAL3x3_eECAL7x7_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1447 h_eHCAL3x3_eECAL7x7_responseMIP[ipt][ieta] ->Sumw2();
1448 sprintf(hname, "h_ResponseMIP_eHCAL5x5_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1449 sprintf(htit, "(eHCAL5x5MIP+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1450 h_eHCAL5x5_eECAL7x7_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1451 h_eHCAL5x5_eECAL7x7_responseMIP[ipt][ieta] ->Sumw2();
1452 sprintf(hname, "h_ResponseMIP_eHCAL7x7_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1453 sprintf(htit, "(eHCAL7x7MIP+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1454 h_eHCAL7x7_eECAL7x7_responseMIP[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1455 h_eHCAL7x7_eECAL7x7_responseMIP[ipt][ieta] ->Sumw2();
1456
1457 sprintf(hname, "h_ResponseInteract_eHCAL3x3_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1458 sprintf(htit, "(eHCAL3x3Interact+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1459 h_eHCAL3x3_eECAL7x7_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1460 h_eHCAL3x3_eECAL7x7_responseInteract[ipt][ieta] ->Sumw2();
1461 sprintf(hname, "h_ResponseInteract_eHCAL5x5_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1462 sprintf(htit, "(eHCAL5x5Interact+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1463 h_eHCAL5x5_eECAL7x7_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1464 h_eHCAL5x5_eECAL7x7_responseInteract[ipt][ieta] ->Sumw2();
1465 sprintf(hname, "h_ResponseInteract_eHCAL7x7_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1466 sprintf(htit, "(eHCAL7x7Interact+eECAL7x7)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1467 h_eHCAL7x7_eECAL7x7_responseInteract[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1468 h_eHCAL7x7_eECAL7x7_responseInteract[ipt][ieta] ->Sumw2();
1469
1470 d_response20Sig->cd();
1471 sprintf(hname, "h_Response20Sig_eHCAL3x3_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1472 sprintf(htit, "(eHCAL3x3+eECAL11x11)(Xtal>2.0#sigma)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1473 h_eHCAL3x3_eECAL11x11_response_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1474 h_eHCAL3x3_eECAL11x11_response_20Sig[ipt][ieta] ->Sumw2();
1475 sprintf(hname, "h_ResponseMIP20Sig_eHCAL3x3_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1476 sprintf(htit, "(eHCAL3x3MIP+eECAL11x11)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1477 h_eHCAL3x3_eECAL11x11_responseMIP_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1478 h_eHCAL3x3_eECAL11x11_responseMIP_20Sig[ipt][ieta] ->Sumw2();
1479 sprintf(hname, "h_ResponseInteract20Sig_eHCAL3x3_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1480 sprintf(htit, "(eHCAL3x3Interact+eECAL11x11)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1481 h_eHCAL3x3_eECAL11x11_responseInteract_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1482 h_eHCAL3x3_eECAL11x11_responseInteract_20Sig[ipt][ieta] ->Sumw2();
1483 sprintf(hname, "h_Response20Sig_eHCAL5x5_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1484 sprintf(htit, "(eHCAL5x5+eECAL11x11)(Xtal>2.0#sigma)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1485 h_eHCAL5x5_eECAL11x11_response_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1486 h_eHCAL5x5_eECAL11x11_response_20Sig[ipt][ieta] ->Sumw2();
1487 sprintf(hname, "h_ResponseMIP20Sig_eHCAL5x5_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1488 sprintf(htit, "(eHCAL5x5MIP+eECAL11x11)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1489 h_eHCAL5x5_eECAL11x11_responseMIP_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1490 h_eHCAL5x5_eECAL11x11_responseMIP_20Sig[ipt][ieta] ->Sumw2();
1491 sprintf(hname, "h_ResponseInteract20Sig_eHCAL5x5_eECAL11x11_ptBin%i_etaBin%i", ipt, ieta);
1492 sprintf(htit, "(eHCAL5x5Interact+eECAL11x11)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1493 h_eHCAL5x5_eECAL11x11_responseInteract_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1494 h_eHCAL5x5_eECAL11x11_responseInteract_20Sig[ipt][ieta] ->Sumw2();
1495
1496 sprintf(hname, "h_Response20Sig_eHCAL3x3_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1497 sprintf(htit, "(eHCAL3x3+eECAL9x9)(Xtal>2.0#sigma)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1498 h_eHCAL3x3_eECAL9x9_response_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1499 h_eHCAL3x3_eECAL9x9_response_20Sig[ipt][ieta] ->Sumw2();
1500 sprintf(hname, "h_ResponseMIP20Sig_eHCAL3x3_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1501 sprintf(htit, "(eHCAL3x3MIP+eECAL9x9)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1502 h_eHCAL3x3_eECAL9x9_responseMIP_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1503 h_eHCAL3x3_eECAL9x9_responseMIP_20Sig[ipt][ieta] ->Sumw2();
1504 sprintf(hname, "h_ResponseInteract20Sig_eHCAL3x3_eECAL9x9_ptBin%i_etaBin%i", ipt, ieta);
1505 sprintf(htit, "(eHCAL3x3Interact+eECAL9x9)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1506 h_eHCAL3x3_eECAL9x9_responseInteract_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1507 h_eHCAL3x3_eECAL9x9_responseInteract_20Sig[ipt][ieta] ->Sumw2();
1508
1509 sprintf(hname, "h_Response20Sig_eHCAL3x3_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1510 sprintf(htit, "(eHCAL3x3+eECAL7x7)(Xtal>2.0#sigma)/trkP (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1511 h_eHCAL3x3_eECAL7x7_response_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1512 h_eHCAL3x3_eECAL7x7_response_20Sig[ipt][ieta] ->Sumw2();
1513 sprintf(hname, "h_ResponseMIP20Sig_eHCAL3x3_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1514 sprintf(htit, "(eHCAL3x3MIP+eECAL7x7)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1515 h_eHCAL3x3_eECAL7x7_responseMIP_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1516 h_eHCAL3x3_eECAL7x7_responseMIP_20Sig[ipt][ieta] ->Sumw2();
1517 sprintf(hname, "h_ResponseInteract20Sig_eHCAL3x3_eECAL7x7_ptBin%i_etaBin%i", ipt, ieta);
1518 sprintf(htit, "(eHCAL3x3Interact+eECAL7x7)/trkP(Xtal>2.0#sigma) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1519 h_eHCAL3x3_eECAL7x7_responseInteract_20Sig[ipt][ieta] = new TH1F(hname, htit, 1500, -1.0, 4.0);
1520 h_eHCAL3x3_eECAL7x7_responseInteract_20Sig[ipt][ieta] ->Sumw2();
1521
1522 d_maxNearP->cd();
1523 sprintf(hname, "h_meanTrackP_ptBin%i_etaBin%i", ipt, ieta);
1524 sprintf(htit, "Track Momentum (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1525 h_meanTrackP[ipt][ieta] = new TH1F(hname, htit, 100, lowP*0.9, highP*1.1);
1526 h_meanTrackP[ipt][ieta] ->Sumw2();
1527
1528 d_drTrackL1->cd();
1529 sprintf(hname, "h_drTrackL1_ptBin%i_etaBin%i", ipt, ieta);
1530 sprintf(htit, "dr(Track,L1) (%3.2f<|#eta|<%3.2f), (%2.0f<trkP<%3.0f)", lowEta, highEta, lowP, highP );
1531 h_drTrackL1[ipt][ieta] = new TH1F(hname, htit, 100, -0.01, 10.0);
1532 h_drTrackL1[ipt][ieta] ->Sumw2();
1533
1534 }
1535 }
1536
1537
1538 fout->cd();
1539 double hcalEtaBins[55] = {-2.650,-2.500,-2.322,-2.172,-2.043,-1.930,
1540 -1.830,-1.740,-1.653,-1.566,-1.479,-1.392,-1.305,
1541 -1.218,-1.131,-1.044,-0.957,-0.879,-0.783,-0.696,
1542 -0.609,-0.522,-0.435,-0.348,-0.261,-0.174,-0.087,
1543 0.000,
1544 0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609,
1545 0.696, 0.783, 0.879, 0.957, 1.044, 1.131, 1.218,
1546 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830,
1547 1.930, 2.043, 2.172, 2.322, 2.500, 2.650};
1548 h_HcalMeanEneVsEta = new TProfile("h_HcalMeanEneVsEta", "h_HcalMeanEneVsEta", 54, hcalEtaBins);
1549 h_HcalMeanEneVsEta->Sumw2();
1550
1551 }