Warning, /Validation/RecoEgamma/test/validation.csh is written in an unsupported language. File is not indexed.
0001 ##!/bin/csh -x
0002 #!/bin/csh
0003
0004 #This script can be used to generate a web page to compare histograms from
0005 #two input root files produced using the EDAnalyzers in RecoEgamma/Examples,
0006 #by running one of:
0007 #
0008 #
0009 # # "Validation/RecoEgamma/test/PhotonValidator_cfg.py
0010 #
0011 # The default list of histograms (configurable) is based on version VXX-XX-XX
0012 # of Validation/RecoEgamma
0013 #
0014 #Two files are created by this script: validation.C and validation.html.
0015 #validation.C should be run inside root to greate a set of gif images
0016 #which can then be viewed in a web browser using validation.html.
0017
0018 #=============BEGIN CONFIGURATION=================
0019
0020 setenv RUNTYPE Central
0021 #setenv RUNTYPE Local
0022 setenv STARTUP True
0023 setenv FASTSIM False
0024 setenv UPGRADE True
0025 ## TYPE options: Photons, GEDPhotons
0026 ## ANALYZERNAME options: PhotonValidator, oldpfPhotonValidator, pfPhotonValidator
0027 #setenv TYPE Photons
0028 #setenv ANALYZERNAME PhotonValidator
0029 setenv TYPE GEDPhotons
0030 setenv ANALYZERNAME pfPhotonValidator
0031
0032
0033 setenv CMSSWver1 7_1_0
0034 setenv CMSSWver2 7_1_0
0035 setenv OLDRELEASE 7_1_0
0036 setenv NEWRELEASE 7_1_0
0037 setenv OLDPRERELEASE pre3
0038 setenv NEWPRERELEASE pre4
0039 setenv UPGRADEVER UPG2017
0040 setenv LHCENERGY 13
0041 setenv PU True
0042 setenv PUlevel 50ns
0043
0044 if ( $STARTUP == True && $FASTSIM == False && $PU == False && $UPGRADE == True ) then
0045 setenv OLDGLOBALTAG POSTLS171_V1-v1
0046 setenv NEWGLOBALTAG POSTLS171_V1-v2
0047 else if ( $UPGRADE == True && $PU == True && $FASTSIM == False ) then
0048 setenv OLDGLOBALTAG PU${PUlevel}_POSTLS171_V2-v6
0049 setenv NEWGLOBALTAG PU${PUlevel}_POSTLS171_V2-v2
0050 else if ( $STARTUP == True && $FASTSIM == True) then
0051 setenv OLDGLOBALTAG POSTLS171_V1_FastSim-v1
0052 setenv NEWGLOBALTAG POSTLS171_V1_FastSim-v2
0053 endif
0054
0055
0056
0057
0058 setenv OLDRELEASE ${OLDRELEASE}_${OLDPRERELEASE}
0059 #setenv OLDRELEASE ${OLDRELEASE}
0060 setenv NEWRELEASE ${NEWRELEASE}_${NEWPRERELEASE}
0061 #setenv NEWRELEASE ${NEWRELEASE}
0062
0063 #setenv WorkDir1 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}/src/Validation/RecoEgamma/test
0064 #setenv WorkDir2 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}_${NEWPRERELEASE}/src/Validation/RecoEgamma/test
0065
0066 setenv WorkDir1 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}_${OLDPRERELEASE}/src/Validation/RecoEgamma/test
0067 setenv WorkDir2 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}_${NEWPRERELEASE}/src/Validation/RecoEgamma/test
0068
0069 #setenv WorkDir1 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}_${OLDPRERELEASE}/src/Validation/RecoEgamma/test
0070 #setenv WorkDir2 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}/src/Validation/RecoEgamma/test
0071
0072 #setenv WorkDir1 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}/src/Validation/RecoEgamma/test
0073 #setenv WorkDir2 /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}/src/Validation/RecoEgamma/test
0074
0075 #Name of sample (affects output directory name and htmldescription only)
0076
0077
0078 #setenv SAMPLE SingleGammaPt10
0079 #setenv SAMPLE SingleGammaPt35
0080 ##setenv SAMPLE SingleGammaFlatPt10_100
0081 setenv SAMPLE H130GGgluonfusion
0082 #setenv SAMPLE PhotonJets_Pt_10
0083 #setenv SAMPLE GammaJets_Pt_80_120
0084 #setenv SAMPLE QCD_Pt_80_120
0085
0086
0087 if ( $RUNTYPE == Central ) then
0088 setenv HISTOPATHNAME_Efficiencies DQMData/Run\ 1/EgammaV/Run\ summary/${ANALYZERNAME}/Efficiencies
0089 setenv HISTOPATHNAME_Photons DQMData/Run\ 1/EgammaV/Run\ summary/${ANALYZERNAME}/Photons
0090 setenv HISTOPATHNAME_Conversions DQMData/Run\ 1/EgammaV/Run\ summary/${ANALYZERNAME}/ConversionInfo
0091 endif
0092
0093 if ( $RUNTYPE == Local ) then
0094 setenv HISTOPATHNAME_Efficiencies DQMData/EgammaV/${ANALYZERNAME}/Efficiencies
0095 setenv HISTOPATHNAME_Photons DQMData/EgammaV/${ANALYZERNAME}/Photons
0096 setenv HISTOPATHNAME_Conversions DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo
0097 endif
0098
0099
0100
0101
0102 #==============END BASIC CONFIGURATION==================
0103
0104
0105 #Input root trees for the two cases to be compared
0106
0107 if ($SAMPLE == SingleGammaPt10) then
0108
0109 if ( $RUNTYPE == Local ) then
0110 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_SingleGammaPt10.root
0111 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_SingleGammaPt10.root
0112 else if ( $RUNTYPE == Central ) then
0113 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValSingleGammaPt10_UP15__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0114 if ( $UPGRADE == True ) then
0115 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt10_UP15__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0116 #setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt10_${UPGRADEVER}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0117 else
0118 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt10_UP15__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0119 endif
0120 endif
0121
0122
0123 else if ($SAMPLE == SingleGammaPt35) then
0124
0125 if ( $RUNTYPE == Local ) then
0126 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_SingleGammaPt35.root
0127 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_SingleGammaPt35.root
0128
0129 else if ( $RUNTYPE == Central ) then
0130 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValSingleGammaPt35__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0131 if ( $UPGRADE == True ) then
0132 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt35_${UPGRADEVER}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0133 else
0134 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt35__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0135 endif
0136 endif
0137
0138
0139 else if ($SAMPLE == SingleGammaFlatPt10_100) then
0140
0141
0142 if ( $RUNTYPE == Local ) then
0143 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_SingleGammaFlatPt10To100.root
0144 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_SingleGammaFlatPt10To100.root
0145 endif
0146
0147
0148 else if ($SAMPLE == H130GGgluonfusion) then
0149
0150
0151 if ( $RUNTYPE == Local ) then
0152 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_H130GGgluonfusion.root
0153 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_H130GGgluonfusion.root
0154 else if ( $RUNTYPE == Central ) then
0155
0156 #setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__GEN-SIM-DIGI-RECO.root
0157 #setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0158 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion_${UPGRADEVER}_${LHCENERGY}__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0159
0160 if ( $UPGRADE == True ) then
0161
0162 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion_${LHCENERGY}__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0163 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValH130GGgluonfusion_${LHCENERGY}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0164 else
0165 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValH130GGgluonfusion__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0166 endif
0167
0168 endif
0169
0170
0171
0172 else if ($SAMPLE == PhotonJets_Pt_10) then
0173
0174 if ( $RUNTYPE == Local ) then
0175 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_PhotonJets_Pt_10.root
0176 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_PhotonJets_Pt_10.root
0177 else if ( $RUNTYPE == Central ) then
0178
0179 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValPhotonJets_Pt_10__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0180 if ( $UPGRADE == True ) then
0181 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValPhotonJets_Pt_10_${UPGRADEVER}_${LHCENERGY}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0182 else
0183 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValPhotonJets_Pt_10__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0184 endif
0185 endif
0186
0187 else if ($SAMPLE == GammaJets_Pt_80_120) then
0188
0189 if ( $RUNTYPE == Local ) then
0190 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_GammaJets_Pt_80_120.root
0191 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_DQM.root
0192 endif
0193
0194 else if ($SAMPLE == QCD_Pt_80_120) then
0195
0196
0197 endif
0198
0199
0200
0201 #Location of output. The default will put your output in:
0202 #http://cmsdoc.cern.ch/Physics/egamma/www/validation/
0203
0204 setenv CURRENTDIR $PWD
0205 setenv OUTPATH /afs/cern.ch/cms/Physics/egamma/www/validation/Photons
0206 cd $OUTPATH
0207 setenv NEWRELEASE {$NEWRELEASE}
0208 setenv OLDRELEASE {$OLDRELEASE}
0209
0210 if (! -d $NEWRELEASE) then
0211 mkdir $NEWRELEASE
0212 endif
0213 setenv OUTPATH $OUTPATH/$NEWRELEASE
0214 cd $OUTPATH
0215
0216 if (! -d ${TYPE}) then
0217 mkdir ${TYPE}
0218 endif
0219 setenv OUTPATH $OUTPATH/${TYPE}
0220 cd $OUTPATH
0221
0222 if (! -d vs${OLDRELEASE}) then
0223 mkdir vs${OLDRELEASE}
0224 endif
0225 setenv OUTPATH $OUTPATH/vs${OLDRELEASE}
0226
0227
0228 if ( $FASTSIM == True) then
0229 setenv OUTDIR $OUTPATH/${SAMPLE}FastSim
0230 else if ( $FASTSIM == False && $UPGRADE == False && $PU == True ) then
0231 setenv OUTDIR $OUTPATH/${SAMPLE}PU
0232 else if ( $FASTSIM == False && $PU == False && $UPGRADE == False ) then
0233 setenv OUTDIR $OUTPATH/${SAMPLE}
0234 else if ( $SAMPLE == H130GGgluonfusion && $UPGRADE == True && $PU == True && $FASTSIM == False) then
0235 setenv OUTDIR $OUTPATH/${SAMPLE}_${LHCENERGY}TeV_PU${PUlevel}
0236 else if ( $SAMPLE == H130GGgluonfusion && $UPGRADE == True ) then
0237 setenv OUTDIR $OUTPATH/${SAMPLE}_${LHCENERGY}TeV
0238 else if ( $SAMPLE == PhotonJets_Pt_10 && $UPGRADE == True ) then
0239 setenv OUTDIR $OUTPATH/${SAMPLE}_${LHCENERGY}TeV
0240 else if ( $SAMPLE == SingleGammaPt10 && $UPGRADE == True ) then
0241 setenv OUTDIR $OUTPATH/${SAMPLE}
0242 else if ( $SAMPLE == SingleGammaPt35 && $UPGRADE == True ) then
0243 setenv OUTDIR $OUTPATH/${SAMPLE}
0244 endif
0245
0246
0247 #else if ( $SAMPLE == H130GGgluonfusion || PhotonJets_Pt_10 && $UPGRADE == True ) then
0248 #if ( $PU == True) then
0249 #setenv OUTDIR $OUTPATH/${SAMPLE}PU
0250 #else if ( $PU == False) then
0251 #setenv OUTDIR $OUTPATH/${SAMPLE}
0252 #endif
0253
0254
0255
0256 if (! -d $OUTDIR) then
0257 cd $OUTPATH
0258 mkdir $OUTDIR
0259 cd $OUTDIR
0260 mkdir gifs
0261 endif
0262 cd $OUTDIR
0263
0264
0265 #The list of histograms to be compared for each TYPE can be configured below:
0266
0267
0268 if ( $TYPE == Photons || $TYPE == GEDPhotons ) then
0269
0270
0271 cat > efficiencyForPhotons <<EOF
0272 recoEffVsEta
0273 recoEffVsPhi
0274 recoEffVsEt
0275 deadChVsEta
0276 deadChVsPhi
0277 deadChVsEt
0278 EOF
0279
0280
0281 # gamgamMassAll
0282 # gamgamMassBarrel
0283 # gamgamMassEndcap
0284 # gamgamMassNoConvAll
0285 # gamgamMassNoConvBarrel
0286 # gamgamMassNoConvEndcap
0287 # gamgamMassConvAll
0288 # gamgamMassConvBarrel
0289 # gamgamMassConvEndcap
0290
0291
0292 cat > scaledhistosForPhotons <<EOF
0293 nOfflineVtx
0294 scEta
0295 scPhi
0296 scEAll
0297 scEtAll
0298 phoEta
0299 phoPhi
0300 phoDEta
0301 phoDPhi
0302 phoEAll
0303 phoEtAll
0304 eResAll
0305 eResBarrel
0306 eResEndcap
0307 eResunconvAll
0308 eResunconvBarrel
0309 eResunconvEndcap
0310 eResconvAll
0311 eResconvBarrel
0312 eResconvEndcap
0313 isoTrkSolidConeDR04All
0314 isoTrkSolidConeDR04Barrel
0315 isoTrkSolidConeDR04Endcap
0316 nTrkSolidConeDR04All
0317 nTrkSolidConeDR04Barrel
0318 nTrkSolidConeDR04Endcap
0319 r9Barrel
0320 r9Endcap
0321 r1Barrel
0322 r1Endcap
0323 r2Barrel
0324 r2Endcap
0325 sigmaIetaIetaBarrel
0326 sigmaIetaIetaEndcap
0327 hOverEAll
0328 hOverEBarrel
0329 hOverEEndcap
0330 newhOverEAll
0331 newhOverEBarrel
0332 newhOverEEndcap
0333 hcalTowerSumEtConeDR04Barrel
0334 hcalTowerSumEtConeDR04Endcap
0335 hcalTowerBcSumEtConeDR04Barrel
0336 hcalTowerBcSumEtConeDR04Endcap
0337 ecalRecHitSumEtConeDR04Barrel
0338 ecalRecHitSumEtConeDR04Endcap
0339
0340
0341 EOF
0342
0343 cat > scaledhistosForPhotonsLogScale <<EOF
0344 hOverEAll
0345 hOverEBarrel
0346 hOverEEndcap
0347 newhOverEAll
0348 newhOverEBarrel
0349 newhOverEEndcap
0350 hcalTowerSumEtConeDR04Barrel
0351 hcalTowerSumEtConeDR04Endcap
0352 hcalTowerBcSumEtConeDR04Barrel
0353 hcalTowerBcSumEtConeDR04Endcap
0354 ecalRecHitSumEtConeDR04Barrel
0355 ecalRecHitSumEtConeDR04Endcap
0356 r9Barrel
0357 r9Endcap
0358 r1Barrel
0359 r1Endcap
0360 r2Barrel
0361 r2Endcap
0362 sigmaIetaIetaAll
0363 sigmaIetaIetaBarrel
0364 sigmaIetaIetaEndcap
0365
0366
0367
0368 EOF
0369
0370
0371 cat > unscaledhistosForPhotons <<EOF
0372 pEResVsEtAll
0373 pEResVsEtBarrel
0374 pEResVsEtEndcap
0375 pEResVsEtaAll
0376 pEResVsEtaUnconv
0377 pEResVsEtaConv
0378 pEcalRecHitSumEtConeDR04VsEtaAll
0379 pEcalRecHitSumEtConeDR04VsEtBarrel
0380 pEcalRecHitSumEtConeDR04VsEtEndcap
0381 pHcalTowerSumEtConeDR04VsEtaAll
0382 pHcalTowerSumEtConeDR04VsEtBarrel
0383 pHcalTowerSumEtConeDR04VsEtEndcap
0384 pHcalTowerBcSumEtConeDR04VsEtaAll
0385 pHcalTowerBcSumEtConeDR04VsEtBarrel
0386 pHcalTowerBcSumEtConeDR04VsEtEndcap
0387 pHoverEVsEtaAll
0388 pHoverEVsEtAll
0389 pnewHoverEVsEtaAll
0390 pnewHoverEVsEtAll
0391
0392
0393 EOF
0394
0395
0396
0397 cat > scaledhistosGEDspecific <<EOF
0398 eResRegr1unconvAll
0399 eResRegr1unconvBarrel
0400 eResRegr1unconvEndcap
0401 eResRegr1convAll
0402 eResRegr1convBarrel
0403 eResRegr1convEndcap
0404 eResRegr2unconvAll
0405 eResRegr2unconvBarrel
0406 eResRegr2unconvEndcap
0407 eResRegr2convAll
0408 eResRegr2convBarrel
0409 eResRegr2convEndcap
0410 chargedHadIsoBarrel
0411 chargedHadIsoEndcap
0412 neutralHadIsoBarrel
0413 neutralHadIsoEndcap
0414 photonIsoBarrel
0415 photonIsoEndcap
0416 pfMVABarrel
0417 pfMVAEndcap
0418 nCluOutMustacheBarrel
0419 nCluOutMustacheEndcap
0420 dRPhoPFcand_Pho_unCleanedBarrel
0421 dRPhoPFcand_Pho_unCleanedEndcap
0422 dRPhoPFcand_Pho_CleanedBarrel
0423 dRPhoPFcand_Pho_CleanedEndcap
0424 dRPhoPFcand_ChHad_unCleanedBarrel
0425 dRPhoPFcand_ChHad_unCleanedEndcap
0426 dRPhoPFcand_ChHad_CleanedBarrel
0427 dRPhoPFcand_ChHad_CleanedEndcap
0428 dRPhoPFcand_NeuHad_unCleanedBarrel
0429 dRPhoPFcand_NeuHad_unCleanedEndcap
0430 dRPhoPFcand_NeuHad_CleanedBarrel
0431 dRPhoPFcand_NeuHad_CleanedEndcap
0432 SumPtOverPhoPt_Pho_unCleanedBarrel
0433 SumPtOverPhoPt_Pho_unCleanedEndcap
0434 SumPtOverPhoPt_Pho_CleanedBarrel
0435 SumPtOverPhoPt_Pho_CleanedEndcap
0436 SumPtOverPhoPt_ChHad_unCleanedBarrel
0437 SumPtOverPhoPt_ChHad_unCleanedEndcap
0438 SumPtOverPhoPt_ChHad_CleanedBarrel
0439 SumPtOverPhoPt_ChHad_CleanedEndcap
0440 SumPtOverPhoPt_NeuHad_unCleanedBarrel
0441 SumPtOverPhoPt_NeuHad_unCleanedEndcap
0442 SumPtOverPhoPt_NeuHad_CleanedBarrel
0443 SumPtOverPhoPt_NeuHad_CleanedEndcap
0444
0445 EOF
0446
0447
0448 cat > scaledhistosGEDspecificLogScale <<EOF
0449 photonIsoBarrel
0450 photonIsoEndcap
0451 chargedHadIsoBarrel
0452 chargedHadIsoEndcap
0453 neutralHadIsoBarrel
0454 neutralHadIsoEndcap
0455
0456
0457 EOF
0458
0459
0460
0461 cat > efficiencyForConvertedPhotons <<EOF
0462
0463 convEffVsEtaTwoTracks
0464 convEffVsPhiTwoTracks
0465 convEffVsRTwoTracks
0466 convEffVsZTwoTracks
0467 convEffVsEtTwoTracks
0468 convEffVsEtaTwoTracksAndVtxProbGT0
0469 convEffVsRTwoTracksAndVtxProbGT0
0470
0471 EOF
0472
0473
0474
0475 cat > scaledhistosForConvertedPhotons <<EOF
0476
0477 convEta2
0478 convPhi
0479 convEResAll
0480 convEResBarrel
0481 convEResEndcap
0482 PoverEtracksAll
0483 PoverEtracksBarrel
0484 PoverEtracksEndcap
0485 convPtResAll
0486 convPtResBarrel
0487 convPtResEndcap
0488 convVtxdR
0489 convVtxdR_barrel
0490 convVtxdR_endcap
0491 convVtxdZ
0492 convVtxdZ_barrel
0493 convVtxdZ_endcap
0494 convVtxdX
0495 convVtxdX_barrel
0496 convVtxdX_endcap
0497 convVtxdY
0498 convVtxdY_barrel
0499 convVtxdY_endcap
0500 mvaOutAll
0501 mvaOutBarrel
0502 mvaOutEndcap
0503
0504 EOF
0505
0506
0507 cat > scaledhistosForConvertedPhotonsLogScale <<EOF
0508 EoverPtracksAll
0509 EoverPtracksBarrel
0510 EoverPtracksEndcap
0511 vtxChi2ProbAll
0512 vtxChi2ProbBarrel
0513 vtxChi2ProbEndcap
0514
0515
0516 EOF
0517
0518
0519
0520 cat > unscaledhistosForConvertedPhotons <<EOF
0521 pEoverEtrueVsEtaAll
0522 pEoverPVsEtaAll
0523 pEoverPVsRAll
0524 pConvVtxdRVsR
0525 pConvVtxdRVsEta
0526 pConvVtxdXVsX
0527 pConvVtxdYVsY
0528 pConvVtxdZVsZ
0529 EOF
0530
0531
0532 cat > 2dhistosForConvertedPhotons <<EOF
0533 convVtxRvsZAll
0534 EOF
0535
0536 cat > projectionsForConvertedPhotons <<EOF
0537 convVtxRvsZBarrel
0538 convVtxRvsZEndcap
0539 EOF
0540
0541
0542
0543 cat > fakeRateForConvertedPhotons <<EOF
0544
0545 convFakeRateVsEtaTwoTracks
0546 convFakeRateVsPhiTwoTracks
0547 convFakeRateVsRTwoTracks
0548 convFakeRateVsZTwoTracks
0549 convFakeRateVsEtTwoTracks
0550
0551 EOF
0552
0553
0554
0555 cat > scaledhistosForTracks <<EOF
0556
0557 tkChi2AllTracks
0558 hTkPtPullAll
0559 hTkPtPullBarrel
0560 hTkPtPullEndcap
0561 hDPhiTracksAtVtxAll
0562 hDCotTracksAll
0563 zPVFromTracksAll
0564 zPVFromTracksBarrel
0565 zPVFromTracksEndcap
0566 dzPVFromTracksAll
0567 dzPVFromTracksBarrel
0568 dzPVFromTracksEndcap
0569
0570 EOF
0571
0572 cat > unscaledhistosForTracks <<EOF
0573 h_nHitsVsEtaAllTracks
0574 h_nHitsVsRAllTracks
0575 pChi2VsEtaAll
0576 pChi2VsRAll
0577 pDCotTracksVsEtaAll
0578 pDCotTracksVsRAll
0579 pdzPVVsR
0580
0581
0582 EOF
0583
0584
0585
0586 endif
0587
0588 #=================END CONFIGURATION=====================
0589
0590 if (-e validation.C) rm validation.C
0591 touch validation.C
0592 cat > begin.C <<EOF
0593 {
0594 TFile *file_old = TFile::Open("$OLDFILE");
0595 TFile *file_new = TFile::Open("$NEWFILE");
0596
0597 EOF
0598 cat begin.C >>& validation.C
0599 rm begin.C
0600
0601 setenv N 1
0602
0603
0604
0605 foreach i (`cat efficiencyForPhotons`)
0606 cat > temp$N.C <<EOF
0607
0608 TCanvas *c$i = new TCanvas("c$i");
0609 c$i->SetFillColor(10);
0610 c$i->Divide(1,2);
0611 c$i->cd(1);
0612 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0613 file_old->cd("$HISTOPATHNAME_Efficiencies");
0614 $i->SetStats(0);
0615 int nBins = $i->GetNbinsX();
0616 float xMin=$i->GetBinLowEdge(1);
0617 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0618 TH1F* hold=new TH1F("hold"," ",nBins,xMin,xMax);
0619 hold=$i;
0620 if ( $i==deadChVsEta || $i==deadChVsPhi || $i==deadChVsEt ) {
0621 $i->SetMinimum(0.);
0622 $i->SetMaximum(0.2);
0623 } else if ( $i==recoEffVsEt ) {
0624 $i->GetXaxis()->SetRangeUser(0.,200.);
0625 } else {
0626 $i->SetMinimum(0.);
0627 $i->SetMaximum(1.1);
0628 }
0629 $i->SetLineColor(kPink+8);
0630 $i->SetMarkerColor(kPink+8);
0631 $i->SetMarkerStyle(20);
0632 $i->SetMarkerSize(1);
0633 $i->SetLineWidth(1);
0634 $i->Draw();
0635 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0636 file_new->cd("$HISTOPATHNAME_Efficiencies");
0637 $i->SetStats(0);
0638 $i->SetMinimum(0.);
0639 $i->SetMaximum(1.1);
0640 TH1F* hnew=new TH1F("hnew"," ",nBins,xMin,xMax);
0641 hnew=$i;
0642 $i->SetLineColor(kBlack);
0643 $i->SetMarkerColor(kBlack);
0644 $i->SetMarkerStyle(20);
0645 $i->SetMarkerSize(1);
0646 $i->SetLineWidth(1);
0647 $i->Draw("same");
0648 c$i->cd(2);
0649 TH1F* ratio=new TH1F("ratio"," ",nBins,xMin,xMax);
0650 ratio->Divide(hnew,hold);
0651 ratio->SetStats(0);
0652 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
0653 float num=hnew->GetBinContent(i);
0654 float den=hold->GetBinContent(i);
0655 float dNum=hnew->GetBinError(i);
0656 float dDen=hold->GetBinError(i);
0657 float erro=0;
0658 if ( num!=0 && den!=0) {
0659 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
0660 erro=sqrt(erro);
0661 }
0662 ratio->SetBinError(i, erro);
0663 }
0664 ratio->SetLineColor(1);
0665 ratio->SetLineWidth(2);
0666 ratio->SetMinimum(0.);
0667 ratio->SetMaximum(2.);
0668 ratio->Draw("e");
0669 TLine *l = new TLine(xMin,1.,xMax,1.);
0670 l->Draw();
0671 c$i->SaveAs("gifs/$i.gif");
0672
0673 EOF
0674 setenv N `expr $N + 1`
0675 end
0676
0677 foreach i (`cat scaledhistosForPhotons`)
0678 cat > temp$N.C <<EOF
0679 TCanvas *c$i = new TCanvas("c$i");
0680 c$i->SetFillColor(10);
0681 c$i->Divide(1,2);
0682 c$i->cd(1);
0683 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0684 file_new->cd("$HISTOPATHNAME_Photons");
0685 int nBins = $i->GetNbinsX();
0686 float xMin=$i->GetBinLowEdge(1);
0687 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0688 Double_t mnew=$i->GetMaximum();
0689 Double_t nnew=$i->GetEntries();
0690 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0691 file_old->cd("$HISTOPATHNAME_Photons");
0692
0693 TH1F* hold=new TH1F("hold"," ",nBins,xMin,xMax);
0694 hold=$i;
0695 Double_t mold=$i->GetMaximum();
0696 Double_t nold=$i->GetEntries();
0697 if ( $i==scEAll || $i==phoEAll ) {
0698 $i->GetYaxis()->SetRangeUser(0.,2000.);
0699 }
0700 $i->SetStats(0);
0701 $i->SetMinimum(0.);
0702 if ( mnew > mold+sqrt(mold) ) {
0703 $i->SetMaximum(mnew+2*sqrt(mnew));
0704 } else {
0705 $i->SetMaximum(mold+2*sqrt(mold));
0706 }
0707 $i->SetLineColor(kPink+8);
0708 $i->SetFillColor(kPink+8);
0709 //$i->SetLineWidth(3);
0710 $i->Draw();
0711 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0712 file_new->cd("$HISTOPATHNAME_Photons");
0713 Double_t nnew=$i->GetEntries();
0714 $i->SetStats(0);
0715 $i->SetLineColor(kBlack);
0716 $i->SetMarkerColor(kBlack);
0717 $i->SetMarkerStyle(20);
0718 $i->SetMarkerSize(0.8);
0719 //$i->SetLineWidth(1);
0720 $i->Scale(nold/nnew);
0721 TH1F* hnew=new TH1F("hnew"," ",nBins,xMin,xMax);
0722 hnew=$i;
0723 $i->Draw("e1same");
0724 c$i->cd(2);
0725 TH1F* ratio=new TH1F("ratio"," ",nBins,xMin,xMax);
0726 ratio->Divide(hnew,hold);
0727 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
0728 float num=hnew->GetBinContent(i);
0729 float den=hold->GetBinContent(i);
0730 float dNum=hnew->GetBinError(i);
0731 float dDen=hold->GetBinError(i);
0732 float erro=0;
0733 if ( num!=0 && den!=0) {
0734 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
0735 erro=sqrt(erro);
0736 }
0737 ratio->SetBinError(i, erro);
0738 }
0739 ratio->SetStats(0);
0740 ratio->SetLineColor(1);
0741 ratio->SetLineWidth(2);
0742 ratio->SetMinimum(0.);
0743 ratio->SetMaximum(4.);
0744 ratio->Draw("e");
0745 TLine *l = new TLine(xMin,1.,xMax,1.);
0746 l->Draw();
0747 c$i->SaveAs("gifs/$i.gif");
0748 //TString gifName=TString("gifs/$i")+"_ratio.gif";
0749 //c$i->SaveAs(gifName);
0750 EOF
0751 setenv N `expr $N + 1`
0752 end
0753
0754
0755 foreach i (`cat scaledhistosGEDspecific`)
0756 cat > temp$N.C <<EOF
0757 TCanvas *c$i = new TCanvas("c$i");
0758 c$i->SetFillColor(10);
0759 c$i->Divide(1,2);
0760 c$i->cd(1);
0761 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0762 file_new->cd("$HISTOPATHNAME_Photons");
0763 int nBins = $i->GetNbinsX();
0764 float xMin=$i->GetBinLowEdge(1);
0765 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0766 Double_t mnew=$i->GetMaximum();
0767 Double_t nnew=$i->GetEntries();
0768 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0769 file_old->cd("$HISTOPATHNAME_Photons");
0770
0771 TH1F* hold=new TH1F("hold"," ",nBins,xMin,xMax);
0772 hold=$i;
0773 Double_t mold=$i->GetMaximum();
0774 Double_t nold=$i->GetEntries();
0775 if ( $i==scEAll || $i==phoEAll ) {
0776 $i->GetYaxis()->SetRangeUser(0.,2000.);
0777 }
0778 if ($i==chargedHadIsoBarrel || $i==chargedHadIsoBarrel ) {
0779 $i->GetXaxis()->SetRangeUser(0.,12.);
0780 }
0781 $i->SetStats(0);
0782 $i->SetMinimum(0.);
0783 if ( mnew > mold+sqrt(mold) ) {
0784 $i->SetMaximum(mnew+2*sqrt(mnew));
0785 } else {
0786 $i->SetMaximum(mold+2*sqrt(mold));
0787 }
0788 $i->SetLineColor(kPink+8);
0789 $i->SetFillColor(kPink+8);
0790 //$i->SetLineWidth(3);
0791 $i->Draw();
0792 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0793 file_new->cd("$HISTOPATHNAME_Photons");
0794 Double_t nnew=$i->GetEntries();
0795 $i->SetStats(0);
0796 $i->SetLineColor(kBlack);
0797 $i->SetMarkerColor(kBlack);
0798 $i->SetMarkerStyle(20);
0799 $i->SetMarkerSize(0.8);
0800 //$i->SetLineWidth(1);
0801 $i->Scale(nold/nnew);
0802 TH1F* hnew=new TH1F("hnew"," ",nBins,xMin,xMax);
0803 hnew=$i;
0804 $i->Draw("e1same");
0805 c$i->cd(2);
0806 TH1F* ratio=new TH1F("ratio"," ",nBins,xMin,xMax);
0807 ratio->Divide(hnew,hold);
0808 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
0809 float num=hnew->GetBinContent(i);
0810 float den=hold->GetBinContent(i);
0811 float dNum=hnew->GetBinError(i);
0812 float dDen=hold->GetBinError(i);
0813 float erro=0;
0814 if ( num!=0 && den!=0) {
0815 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
0816 erro=sqrt(erro);
0817 }
0818 ratio->SetBinError(i, erro);
0819 }
0820 ratio->SetStats(0);
0821 ratio->SetLineColor(1);
0822 ratio->SetLineWidth(2);
0823 ratio->SetMinimum(0.);
0824 ratio->SetMaximum(4.);
0825 ratio->Draw("e");
0826 TLine *l = new TLine(xMin,1.,xMax,1.);
0827 l->Draw();
0828 c$i->SaveAs("gifs/$i.gif");
0829 //TString gifName=TString("gifs/$i")+"_ratio.gif";
0830 //c$i->SaveAs(gifName);
0831 EOF
0832 setenv N `expr $N + 1`
0833 end
0834
0835
0836
0837 foreach i (`cat scaledhistosGEDspecificLogScale`)
0838 cat > temp$N.C <<EOF
0839 TCanvas *cc$i = new TCanvas("cc$i");
0840 cc$i->cd();
0841 cc$i->SetFillColor(10);
0842 cc$i->SetLogy();
0843 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0844 file_new->cd("$HISTOPATHNAME_Photons");
0845 Double_t nnew=$i->GetEntries();
0846 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0847 file_old->cd("$HISTOPATHNAME_Photons");
0848 if ( $i==hcalTowerSumEtConeDR04Barrel || $i==hcalTowerSumEtConeDR04Endcap ) {
0849 $i->GetXaxis()->SetRangeUser(0.,10.);
0850 }
0851 Double_t nold=$i->GetEntries();
0852 $i->SetStats(0);
0853 $i->SetMinimum(1);
0854 $i->SetLineColor(kPink+8);
0855 $i->SetFillColor(kPink+8);
0856 $i->Draw();
0857 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0858 file_new->cd("$HISTOPATHNAME_Photons");
0859 Double_t nnew=$i->GetEntries();
0860 $i->SetStats(0);
0861 $i->SetLineColor(kBlack);
0862 $i->SetMarkerColor(kBlack);
0863 $i->SetMarkerStyle(20);
0864 $i->SetMarkerSize(1);
0865 $i->Draw("e1same");
0866 cc$i->SaveAs("gifs/log$i.gif");
0867
0868 EOF
0869 setenv N `expr $N + 1`
0870 end
0871
0872
0873
0874
0875
0876 foreach i (`cat scaledhistosForPhotonsLogScale`)
0877 cat > temp$N.C <<EOF
0878 TCanvas *cc$i = new TCanvas("cc$i");
0879 cc$i->cd();
0880 cc$i->SetFillColor(10);
0881 cc$i->SetLogy();
0882 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0883 file_new->cd("$HISTOPATHNAME_Photons");
0884 Double_t nnew=$i->GetEntries();
0885 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0886 file_old->cd("$HISTOPATHNAME_Photons");
0887 if ( $i==hcalTowerSumEtConeDR04Barrel || $i==hcalTowerSumEtConeDR04Endcap ) {
0888 $i->GetXaxis()->SetRangeUser(0.,10.);
0889 }
0890 Double_t nold=$i->GetEntries();
0891 $i->SetStats(0);
0892 $i->SetMinimum(1);
0893 $i->SetLineColor(kPink+8);
0894 $i->SetFillColor(kPink+8);
0895 $i->Draw();
0896 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0897 file_new->cd("$HISTOPATHNAME_Photons");
0898 Double_t nnew=$i->GetEntries();
0899 $i->SetStats(0);
0900 $i->SetLineColor(kBlack);
0901 $i->SetMarkerColor(kBlack);
0902 $i->SetMarkerStyle(20);
0903 $i->SetMarkerSize(1);
0904 $i->Draw("e1same");
0905 cc$i->SaveAs("gifs/log$i.gif");
0906
0907 EOF
0908 setenv N `expr $N + 1`
0909 end
0910
0911
0912
0913
0914
0915 foreach i (`cat unscaledhistosForPhotons`)
0916 cat > temp$N.C <<EOF
0917 TCanvas *c$i = new TCanvas("c$i");
0918 c$i->SetFillColor(10);
0919 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0920 file_old->cd("$HISTOPATHNAME_Photons");
0921 $i->SetStats(0);
0922 if ( $i==pEcalRecHitSumEtConeDR04VsEtaAll ) {
0923 $i->GetYaxis()->SetRangeUser(0.,5.);
0924 } else if ( $i==pEcalRecHitSumEtConeDR04VsEtBarrel )
0925 { $i->GetYaxis()->SetRangeUser(0.,20.);
0926 } else if ( $i==pEcalRecHitSumEtConeDR04VsEtEndcap )
0927 { $i->GetYaxis()->SetRangeUser(0.,20.);
0928 } else if ( $i==pHcalTowerSumEtConeDR04VsEtaAll)
0929 { $i->GetYaxis()->SetRangeUser(0.,0.5);
0930 } else if ( $i==pHcalTowerBcSumEtConeDR04VsEtaAll )
0931 { $i->GetYaxis()->SetRangeUser(0.,1.);
0932 } else if ( $i==pHcalTowerSumEtConeDR04VsEtBarrel || $i==pHcalTowerBcSumEtConeDR04VsEtBarrel)
0933 { $i->GetYaxis()->SetRangeUser(0.,5.);
0934 } else if ( $i==pHcalTowerSumEtConeDR04VsEtEndcap || $i==pHcalTowerBcSumEtConeDR04VsEtEndcap )
0935 { $i->GetYaxis()->SetRangeUser(0.,5.);
0936 } else if ( $i==pHoverEVsEtaAll || $i==pnewHoverEVsEtaAll )
0937 { $i->GetYaxis()->SetRangeUser(-0.05,0.05);
0938 } else if ( $i==pHoverEVsEtAll || $i==pnewHoverEVsEtAll )
0939 { $i->GetYaxis()->SetRangeUser(-0.05,0.05);
0940 } else {
0941 $i->SetMinimum(0.94);
0942 $i->SetMaximum(1.04);
0943 }
0944 $i->SetLineColor(kPink+8);
0945 $i->SetMarkerColor(kPink+8);
0946 $i->SetMarkerStyle(20);
0947 $i->SetMarkerSize(1);
0948 $i->SetLineWidth(1);
0949 $i->Draw();
0950 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0951 file_new->cd("$HISTOPATHNAME_Photons");
0952 $i->SetStats(0);
0953 $i->SetLineColor(kBlack);
0954 $i->SetMarkerColor(kBlack);
0955 $i->SetMarkerStyle(20);
0956 $i->SetMarkerSize(1);
0957 $i->SetLineWidth(1);
0958 $i->Draw("e1same");
0959 c$i->SaveAs("gifs/$i.gif");
0960
0961 EOF
0962 setenv N `expr $N + 1`
0963 end
0964
0965
0966
0967
0968
0969 foreach i (`cat efficiencyForConvertedPhotons`)
0970 cat > temp$N.C <<EOF
0971 TCanvas *c$i = new TCanvas("c$i");
0972 c$i->SetFillColor(10);
0973 c$i->Divide(1,2);
0974 c$i->cd(1);
0975 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0976 file_old->cd("$HISTOPATHNAME_Efficiencies");
0977 $i->SetStats(0);
0978 int nBins = $i->GetNbinsX();
0979 float xMin=$i->GetBinLowEdge(1);
0980 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0981 TH1F* hold=new TH1F("hold"," ",nBins,xMin,xMax);
0982 hold=$i;
0983 $i->SetMinimum(0.);
0984 $i->SetMaximum(1.);
0985 $i->SetLineColor(kPink+8);
0986 $i->SetMarkerColor(kPink+8);
0987 $i->SetMarkerStyle(20);
0988 $i->SetMarkerSize(1);
0989 $i->SetLineWidth(1);
0990 $i->Draw();
0991 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0992 file_new->cd("$HISTOPATHNAME_Efficiencies");
0993 TH1F* hnew=new TH1F("hnew"," ",nBins,xMin,xMax);
0994 hnew=$i;
0995 $i->SetStats(0);
0996 $i->SetMinimum(0.);
0997 $i->SetMaximum(1.);
0998 $i->SetLineColor(kBlack);
0999 $i->SetMarkerColor(kBlack);
1000 $i->SetMarkerStyle(20);
1001 $i->SetMarkerSize(1);
1002 $i->SetLineWidth(1);
1003 $i->Draw("same");
1004 TH1F* ratio=new TH1F("ratio"," ",nBins,xMin,xMax);
1005 ratio->Divide(hnew,hold);
1006 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
1007 float num=hnew->GetBinContent(i);
1008 float den=hold->GetBinContent(i);
1009 float dNum=hnew->GetBinError(i);
1010 float dDen=hold->GetBinError(i);
1011 float erro=0;
1012 if ( num!=0 && den!=0) {
1013 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
1014 erro=sqrt(erro);
1015 }
1016 ratio->SetBinError(i, erro);
1017 }
1018 ratio->SetStats(0);
1019 ratio->SetLineColor(1);
1020 ratio->SetLineWidth(2);
1021 ratio->SetMinimum(0.);
1022 ratio->SetMaximum(2.);
1023 c$i->cd(2);
1024 ratio->Draw("e");
1025 TLine *l = new TLine(xMin,1.,xMax,1.);
1026 l->Draw();
1027 c$i->SaveAs("gifs/$i.gif");
1028
1029 EOF
1030 setenv N `expr $N + 1`
1031 end
1032
1033
1034
1035
1036 foreach i (`cat scaledhistosForConvertedPhotons`)
1037 cat > temp$N.C <<EOF
1038 TCanvas *c$i = new TCanvas("c$i");
1039 c$i->SetFillColor(10);
1040 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1041 file_new->cd("$HISTOPATHNAME_Conversions");
1042 Double_t mnew=$i->GetMaximum();
1043 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1044 file_old->cd("$HISTOPATHNAME_Conversions");
1045 Double_t mold=$i->GetMaximum();
1046 $i->SetStats(0);
1047 $i->SetMinimum(0.);
1048 if ( mnew > mold)
1049 $i->SetMaximum(mnew+mnew*0.1);
1050 else
1051 $i->SetMaximum(mold+mold*0.1);
1052 $i->SetLineColor(kPink+8);
1053 $i->SetFillColor(kPink+8);
1054 $i->SetLineWidth(3);
1055 $i->Draw();
1056 Double_t nold=$i->GetEntries();
1057 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1058 file_new->cd("$HISTOPATHNAME_Conversions");
1059 Double_t nnew=$i->GetEntries();
1060 $i->SetStats(0);
1061 $i->SetLineColor(kBlack);
1062 $i->SetMarkerColor(kBlack);
1063 $i->SetMarkerStyle(20);
1064 $i->SetMarkerSize(1);
1065 $i->SetLineWidth(1);
1066 $i->Scale(nold/nnew);
1067 $i->Draw("e1same");
1068 c$i->SaveAs("gifs/$i.gif");
1069
1070 EOF
1071 setenv N `expr $N + 1`
1072 end
1073
1074
1075 foreach i (`cat scaledhistosForConvertedPhotonsLogScale`)
1076 cat > temp$N.C <<EOF
1077 TCanvas *c$i = new TCanvas("c$i");
1078 c$i->SetFillColor(10);
1079 c$i->SetLogy(1);
1080 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1081 file_new->cd("$HISTOPATHNAME_Conversions");
1082 Double_t mnew=$i->GetMaximum();
1083 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1084 file_old->cd("$HISTOPATHNAME_Conversions");
1085 Double_t mold=$i->GetMaximum();
1086 $i->SetStats(0);
1087 $i->SetLineColor(kPink+8);
1088 $i->SetFillColor(kPink+8);
1089 $i->SetLineWidth(3);
1090 $i->Draw();
1091 Double_t nold=$i->GetEntries();
1092 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1093 file_new->cd("$HISTOPATHNAME_Conversions");
1094 Double_t nnew=$i->GetEntries();
1095 $i->SetStats(0);
1096 $i->SetLineColor(kBlack);
1097 $i->SetMarkerColor(kBlack);
1098 $i->SetMarkerStyle(20);
1099 $i->SetMarkerSize(1);
1100 $i->SetLineWidth(1);
1101 $i->Scale(nold/nnew);
1102 $i->Draw("e1same");
1103 c$i->SaveAs("gifs/$i.gif");
1104
1105 EOF
1106 setenv N `expr $N + 1`
1107 end
1108
1109
1110
1111
1112
1113 foreach i (`cat unscaledhistosForConvertedPhotons`)
1114 cat > temp$N.C <<EOF
1115 TCanvas *c$i = new TCanvas("c$i");
1116 c$i->SetFillColor(10);
1117 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1118 file_old->cd("$HISTOPATHNAME_Conversions");
1119 $i->SetStats(0);
1120 $i->GetYaxis()->SetRangeUser(0.6.,2);
1121 if ( $i == pConvVtxdRVsR || $i == pConvVtxdRVsEta || $i == pConvVtxdXVsX || $i == pConvVtxdYVsY ) {
1122 $i->GetYaxis()->SetRangeUser(-10.,10);
1123 } else if ( $i == pConvVtxdZVsZ ) {
1124 $i->GetYaxis()->SetRangeUser(-10.,10);
1125 }
1126 $i->SetLineColor(kPink+8);
1127 $i->SetMarkerColor(kPink+8);
1128 $i->SetMarkerStyle(20);
1129 $i->SetMarkerSize(1);
1130 $i->SetLineWidth(1);
1131 $i->Draw();
1132 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1133 file_new->cd("$HISTOPATHNAME_Conversions");
1134 $i->SetStats(0);
1135 $i->SetLineColor(kBlack);
1136 $i->SetMarkerColor(kBlack);
1137 $i->SetMarkerStyle(20);
1138 $i->SetMarkerSize(1);
1139 $i->SetLineWidth(1);
1140 $i->Draw("e1same");
1141 c$i->SaveAs("gifs/$i.gif");
1142
1143 EOF
1144 setenv N `expr $N + 1`
1145 end
1146
1147
1148
1149 foreach i (`cat fakeRateForConvertedPhotons`)
1150 cat > temp$N.C <<EOF
1151 TCanvas *c$i = new TCanvas("c$i");
1152 c$i->SetFillColor(10);
1153 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
1154 file_old->cd("$HISTOPATHNAME_Efficiencies");
1155 $i->SetStats(0);
1156 $i->SetMinimum(0.);
1157 $i->SetMaximum(1.);
1158 $i->SetLineColor(kPink+8);
1159 $i->SetMarkerColor(kPink+8);
1160 $i->SetMarkerStyle(20);
1161 $i->SetMarkerSize(1);
1162 $i->SetLineWidth(1);
1163 $i->Draw();
1164 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
1165 file_new->cd("$HISTOPATHNAME_Efficiencies");
1166 $i->SetStats(0);
1167 $i->SetMinimum(0.);
1168 $i->SetLineColor(kBlack);
1169 $i->SetMarkerColor(kBlack);
1170 $i->SetMarkerStyle(20);
1171 $i->SetMarkerSize(1);
1172 $i->SetLineWidth(1);
1173 $i->Draw("same");
1174 c$i->SaveAs("gifs/$i.gif");
1175
1176 EOF
1177 setenv N `expr $N + 1`
1178 end
1179
1180
1181 foreach i (`cat 2dhistosForConvertedPhotons`)
1182 cat > temp$N.C <<EOF
1183 TCanvas *c$i = new TCanvas("c$i");
1184 c$i->SetFillColor(10);
1185 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1186 file_old->cd("$HISTOPATHNAME_Conversions");
1187 $i->SetStats(0);
1188 $i->SetMinimum(0.);
1189 $i->SetMarkerColor(kPink+8);
1190 $i->Draw();
1191 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1192 file_new->cd("$HISTOPATHNAME_Conversions");
1193 $i->SetStats(0);
1194 $i->SetMarkerColor(kBlack);
1195 $i->Draw("same");
1196 c$i->SaveAs("gifs/$i.gif");
1197
1198 EOF
1199 setenv N `expr $N + 1`
1200 end
1201
1202 foreach i (`cat projectionsForConvertedPhotons`)
1203 cat > temp$N.C <<EOF
1204 TCanvas *c$i = new TCanvas("c$i");
1205 c$i->SetFillColor(10);
1206 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1207 file_old->cd("$HISTOPATHNAME_Conversions");
1208 if ($i==convVtxRvsZBarrel)
1209 TH1D *tmp1$i= $i->ProjectionY();
1210 else if ($i==convVtxRvsZEndcap)
1211 TH1D *tmp1$i= $i->ProjectionX();
1212 Double_t nold=tmp1$i->GetEntries();
1213 Double_t mold=tmp1$i->GetMaximum();
1214 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1215 file_new->cd("$HISTOPATHNAME_Conversions");
1216 //TH1D *tmp2$i= $i->ProjectionY();
1217 if ($i==convVtxRvsZBarrel)
1218 TH1D *tmp2$i= $i->ProjectionY();
1219 else if ($i==convVtxRvsZEndcap)
1220 TH1D *tmp2$i= $i->ProjectionX();
1221 Double_t nnew=tmp2$i->GetEntries();
1222 Double_t mnew=tmp2$i->GetMaximum();
1223 tmp1$i->SetStats(0);
1224 tmp1$i->SetMinimum(0.);
1225 if ( mnew > mold)
1226 tmp1$i->SetMaximum(mnew+mnew*0.2);
1227 else
1228 tmp1$i->SetMaximum(mold+mold*0.2);
1229 tmp1$i->SetLineColor(kPink+8);
1230 tmp1$i->SetFillColor(kPink+8);
1231 tmp1$i->SetLineWidth(3);
1232 tmp1$i->Draw();
1233 tmp2$i->SetStats(0);
1234 tmp2$i->SetLineColor(kBlack);
1235 tmp2$i->SetLineWidth(3);
1236 tmp2$i->Scale(nold/nnew);
1237 tmp2$i->Draw("same");
1238 c$i->SaveAs("gifs/$i.gif");
1239
1240 EOF
1241 setenv N `expr $N + 1`
1242 end
1243
1244
1245
1246 ###if ($ANALYZERNAME == pfPhotonValidator) goto skippingHistosForTracks
1247 foreach i (`cat scaledhistosForTracks`)
1248 cat > temp$N.C <<EOF
1249 TCanvas *c$i = new TCanvas("c$i");
1250 c$i->SetFillColor(10);
1251 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1252 file_new->cd("$HISTOPATHNAME_Conversions");
1253 Double_t mnew=$i->GetMaximum();
1254 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1255 file_old->cd("$HISTOPATHNAME_Conversions");
1256 Double_t mold=$i->GetMaximum();
1257 $i->SetStats(0);
1258 $i->SetMinimum(0.);
1259 if ( mnew > mold)
1260 $i->SetMaximum(mnew+mnew*0.1);
1261 else
1262 $i->SetMaximum(mold+mold*0.1);
1263 $i->SetLineColor(kPink+8);
1264 $i->SetFillColor(kPink+8);
1265 $i->SetLineWidth(3);
1266 $i->Draw();
1267 Double_t nold=$i->GetEntries();
1268 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1269 file_new->cd("$HISTOPATHNAME_Conversions");
1270 Double_t nnew=$i->GetEntries();
1271 $i->SetStats(0);
1272 $i->SetLineColor(kBlack);
1273 $i->SetMarkerColor(kBlack);
1274 $i->SetMarkerStyle(20);
1275 $i->SetMarkerSize(1);
1276 $i->SetLineWidth(1);
1277 $i->Scale(nold/nnew);
1278 $i->Draw("e1same");
1279 c$i->SaveAs("gifs/$i.gif");
1280
1281 EOF
1282 setenv N `expr $N + 1`
1283 end
1284
1285
1286
1287 foreach i (`cat unscaledhistosForTracks`)
1288 cat > temp$N.C <<EOF
1289 TCanvas *c$i = new TCanvas("c$i");
1290 c$i->SetFillColor(10);
1291 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1292 file_new->cd("$HISTOPATHNAME_Conversions");
1293 Double_t mnew=$i->GetMaximum();
1294 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1295 file_old->cd("$HISTOPATHNAME_Conversions");
1296 Double_t mold=$i->GetMaximum();
1297 $i->SetStats(0);
1298 if ($i==pDCotTracksVsEtaAll || $i==pDCotTracksVsRAll ) {
1299 $i->SetMinimum(-0.05);
1300 $i->SetMaximum(0.05);
1301 } else if ( $i==pdzPVVsR ) {
1302 $i->GetYaxis()->SetRangeUser(-3.,3.);
1303 } else {
1304 $i->SetMinimum(0.);
1305 if ( mnew > mold)
1306 $i->SetMaximum(mnew+mnew*0.4);
1307 else
1308 $i->SetMaximum(mold+mold*0.4);
1309 }
1310
1311 $i->SetLineColor(kPink+8);
1312 $i->SetMarkerColor(kPink+8);
1313 $i->SetMarkerStyle(20);
1314 $i->SetMarkerSize(1);
1315 $i->SetLineWidth(1);
1316 $i->Draw();
1317 Double_t nold=$i->GetEntries();
1318 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1319 file_new->cd("$HISTOPATHNAME_Conversions");
1320 Double_t nnew=$i->GetEntries();
1321 $i->SetStats(0);
1322 $i->SetLineColor(kBlack);
1323 $i->SetMarkerColor(kBlack);
1324 $i->SetMarkerStyle(20);
1325 $i->SetMarkerSize(1);
1326 $i->SetLineWidth(1);
1327 //$i->Scale(nold/nnew);
1328 $i->Draw("e1same");
1329 c$i->SaveAs("gifs/$i.gif");
1330
1331 EOF
1332 setenv N `expr $N + 1`
1333 end
1334
1335 #skippingHistosForTracks:
1336 # echo "Skipping histograms which are not defined for pfPhotons"
1337
1338
1339
1340 setenv NTOT `expr $N - 1`
1341 setenv N 1
1342 while ( $N <= $NTOT )
1343 cat temp$N.C >>& validation.C
1344 rm temp$N.C
1345 setenv N `expr $N + 1`
1346 end
1347
1348 cat > end.C <<EOF
1349 }
1350 EOF
1351 cat end.C >>& validation.C
1352 rm end.C
1353
1354
1355 if ( $TYPE == PixelMatchGsfElectron ) then
1356 setenv ANALYZER PixelMatchGsfElectronAnalyzer
1357 setenv CFG read_gsfElectrons
1358 else if ( $TYPE == Photons || $TYPE == GEDPhotons) then
1359 setenv ANALYZER ${ANALYZERNAME}
1360 setenv CFG PhotonValidator_cfg
1361 endif
1362
1363 if ( $PU == True && $FASTSIM == False ) then
1364 setenv SAMPLE ${SAMPLE}PU
1365 else if ( $PU == False && $FASTSIM == True) then
1366 setenv SAMPLE ${SAMPLE}FastSim
1367 else if ( $SAMPLE == H130GGgluonfusion && $UPGRADE == True ) then
1368 setenv SAMPLE ${SAMPLE}_${LHCENERGY}TeV
1369 else if ( $SAMPLE == H130GGgluonfusion && $UPGRADE == True && $PU == True ) then
1370 setenv SAMPLE ${SAMPLE}_${LHCENERGY}TeV_PU${PUlevel}
1371 endif
1372
1373
1374
1375 if (-e validation.html) rm validation.html
1376 if (-e validationPlotsTemplate.html) rm validationPlotsTemplate.html
1377 cp ${CURRENTDIR}/validationPlotsTemplate.html validationPlotsTemplate.html
1378 touch validation.html
1379 cat > begin.html <<EOF
1380 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
1381 <html>
1382 <head>
1383 <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
1384 <title>$NEWRELEASE vs $OLDRELEASE $TYPE validation</title>
1385 </head>
1386
1387 <h1>$NEWRELEASE vs $OLDRELEASE $TYPE validation
1388 <br>
1389 $SAMPLE
1390 </h1>
1391
1392 <p>The following plots were made using <a href="http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Validation/RecoEgamma/src/$ANALYZER.cc">Validation/RecoEgamma/src/$ANALYZER</a>,
1393 using <a href="http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Validation/RecoEgamma/test/$CFG.py">Validation/RecoEgamma/test/$CFG.py</a>
1394 <p>The script used to make the plots is <a href="validation.C">here</a>.
1395 <br>
1396 In all plots below, $OLDRELEASE is in purple , $NEWRELEASE in black.
1397 <br>
1398 Click on the plots to see them enlarged.
1399 <br>
1400 Responsible: N. Marinelli
1401 <br>
1402 <br>
1403
1404
1405
1406 EOF
1407 cat begin.html >>& validation.html
1408 rm begin.html
1409 cat validationPlotsTemplate.html >>& validation.html
1410 rm validationPlotsTemplate.html
1411
1412 rm scaledhistosForPhotons
1413 rm scaledhistosGEDspecific
1414 rm scaledhistosGEDspecificLogScale
1415 rm unscaledhistosForPhotons
1416 rm scaledhistosForConvertedPhotons
1417 rm scaledhistosForConvertedPhotonsLogScale
1418 rm unscaledhistosForConvertedPhotons
1419 rm efficiencyForPhotons
1420 rm efficiencyForConvertedPhotons
1421 rm fakeRateForConvertedPhotons
1422 rm 2dhistosForConvertedPhotons
1423 rm projectionsForConvertedPhotons
1424 rm scaledhistosForTracks
1425 rm unscaledhistosForTracks
1426 rm scaledhistosForPhotonsLogScale
1427
1428 #echo "Now paste the following into your terminal window:"
1429 #echo ""
1430 echo "cd $OUTDIR"
1431 #echo " root -b"
1432 #echo ".x validation.C"
1433 #echo ".q"
1434 #echo "cd $CURRENTDIR"
1435 #echo ""
1436
1437
1438 root -b -l -q validation.C
1439 cd $CURRENTDIR
1440 echo "Then you can view your validation plots here:"
1441 echo "http://cmsdoc.cern.ch/Physics/egamma/www/$OUTPATH/validation.html"