Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New MuScleFit trees #2895

Merged
merged 1 commit into from
Mar 18, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MuonAnalysis/MomentumScaleCalibration/bin/TreeFromDump.cc
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ int main(int argc, char* argv[])
ss >> value[i];
// std::cout << "value["<<i<<"] = " << value[i] << std::endl;
}
pairVector.push_back(MuonPair(fromPtEtaPhiToPxPyPz(value), fromPtEtaPhiToPxPyPz(&(value[3])), 0, 0));
pairVector.push_back(MuonPair(fromPtEtaPhiToPxPyPz(value), fromPtEtaPhiToPxPyPz(&(value[3])), MuScleFitEvent(0,0,0,0,0)) );
if( genInfo ) {
for( int i=0; i<6; ++i ) {
ss >> genValue[i];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ int main(int argc, char* argv[])
double muon2[3] = {(*muon2pt)[i], (*muon2eta)[i], (*muon2phi)[i]};

// pairVector.push_back( std::make_pair( fromPtEtaPhiToPxPyPz(muon1), fromPtEtaPhiToPxPyPz(muon2) ) );
pairVector.push_back( MuonPair(fromPtEtaPhiToPxPyPz(muon1), fromPtEtaPhiToPxPyPz(muon2), 0, 0 ) );
pairVector.push_back( MuonPair(fromPtEtaPhiToPxPyPz(muon1), fromPtEtaPhiToPxPyPz(muon2), MuScleFitEvent(0,0,0,0,0)) );
}
}
size_t namePos = fileName.find_last_of("/");
Expand Down

This file was deleted.

12 changes: 0 additions & 12 deletions MuonAnalysis/MomentumScaleCalibration/data/JPsi_MC_innerTrack.txt

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

28 changes: 0 additions & 28 deletions MuonAnalysis/MomentumScaleCalibration/data/Resol_JPsi_19pb.txt

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

46 changes: 46 additions & 0 deletions MuonAnalysis/MomentumScaleCalibration/interface/Event.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#ifndef MuScleFitEvent_h
#define MuScleFitEvent_h

#include "TObject.h"

class MuScleFitEvent : public TObject
{
public:
MuScleFitEvent() :
fRun(0),
fEvent(0),
fTrueNumPUvtx(0),
fTrueNumInteractions(0),
fNpv(0)
{}

MuScleFitEvent(const unsigned int initRun, const unsigned int initEvent, const int initNPUvtx, const float initTrueNI, const int initNpv) :
fRun(initRun),
fEvent(initEvent),
fTrueNumPUvtx(initNPUvtx),
fTrueNumInteractions(initTrueNI),
fNpv(initNpv)
{}

// Getters
UInt_t run() const {return fRun;}
UInt_t event() const {return fEvent;}
Int_t nPUvtx() const {return fTrueNumPUvtx;}
Float_t nTrueInteractions() const {return fTrueNumInteractions;}
UInt_t npv() const {return fNpv;}


UInt_t fRun;
UInt_t fEvent;
Int_t fTrueNumPUvtx;
Float_t fTrueNumInteractions;
UInt_t fNpv;


ClassDef(MuScleFitEvent, 1)
};

ClassImp(MuScleFitEvent)

#endif

143 changes: 143 additions & 0 deletions MuonAnalysis/MomentumScaleCalibration/interface/Functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -6840,4 +6840,147 @@ class backgroundFunctionType10 : public backgroundFunctionBase {
}
};


/// Exponential binned in eta (Z, Run2012C PromptReco-v1 + PromptReco-v2)
// --------------------------
class backgroundFunctionType11 : public backgroundFunctionBase {
public:
backgroundFunctionType11(const double & lowerLimit, const double & upperLimit) :
backgroundFunctionBase(lowerLimit, upperLimit)
{
this->parNum_ = 2;
}
virtual double operator()( const double * parval, const double & mass, const double & eta ) const {return 0.;}
virtual double operator()( const double * parval, const double & mass, const double & eta1, const double & eta2 ) const
{
double Bgrp2 = 0.;
if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
Bgrp2 = (-0.0512353);
}
else if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
Bgrp2 = (-0.0448482);
}
else if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
Bgrp2 = (-0.0193726);
}
else if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
Bgrp2 = (0.0225765);
}
else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -100. && eta2 < -0.8) ) {
Bgrp2 = (-0.0822936);
}
else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -0.8 && eta2 < 0.) ) {
Bgrp2 = (-0.0676357);
}
else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0. && eta2 < 0.8) ) {
Bgrp2 = (-0.0591544);
}
else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0.8 && eta2 < 100.) ) {
Bgrp2 = (-0.0235858);
}
else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
Bgrp2 = (-0.0317051);
}
else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
Bgrp2 = (-0.06139);
}
else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
Bgrp2 = (-0.0747737);
}
else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
Bgrp2 = (-0.0810139);
}
else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -100. && eta2 < -0.8) ) {
Bgrp2 = (0.0229602);
}
else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -0.8 && eta2 < 0.) ) {
Bgrp2 = (-0.0224212);
}
else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0. && eta2 < 0.8) ) {
Bgrp2 = (-0.0446273);
}
else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0.8 && eta2 < 100.) ) {
Bgrp2 = (-0.0554561);
}
else {
std::cout << "WARNING, backgroundFunctionType11: this should not happen for eta1 = " << eta1 << " and eta2 = " << eta2 << std::endl;
return (-0.05);
}
double norm = (exp(Bgrp2*upperLimit_) - exp(Bgrp2*lowerLimit_))/Bgrp2;
if( norm != 0 ) return exp(Bgrp2*mass)/norm;
else return 0.;

}
virtual void setParameters(double* Start, double* Step, double* Mini, double* Maxi, int* ind, TString* parname, const std::vector<double>::const_iterator & parBgrIt, const std::vector<int>::const_iterator & parBgrOrderIt, const int muonType) {
double thisStep[] = {0.01, 0.01};
TString thisParName[] = {"Bgr fraction", "Bgr slope"};
if( muonType == 1 ) {
double thisMini[] = {-1.0, 10.};
double thisMaxi[] = {1.0 , 10.};
this->setPar( Start, Step, Mini, Maxi, ind, parname, parBgrIt, parBgrOrderIt, thisStep, thisMini, thisMaxi, thisParName );
} else {
double thisMini[] = {-1.0, 10.};
double thisMaxi[] = { 1.0, 10.};
this->setPar( Start, Step, Mini, Maxi, ind, parname, parBgrIt, parBgrOrderIt, thisStep, thisMini, thisMaxi, thisParName );
}
}

virtual double fracVsEta(const double * parval, const double & eta1, const double & eta2) const
{
if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
return (1.-0.966316);
}
if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
return (1.-0.966875);
}
if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
return (1.-0.955311);
}
if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
return (1.-0.928771);
}
if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -100. && eta2 < -0.8) ) {
return (1.-0.983255);
}
if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -0.8 && eta2 < 0.) ) {
return (1.-0.982203);
}
if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0. && eta2 < 0.8) ) {
return (1.-0.972127);
}
if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0.8 && eta2 < 100.) ) {
return (1.-0.962929);
}
if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
return (1.-0.965597);
}
if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
return (1.-0.969461);
}
if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
return (1.-0.979922);
}
if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
return (1.-0.984247);
}
if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -100. && eta2 < -0.8) ) {
return (1.-0.934252);
}
if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -0.8 && eta2 < 0.) ) {
return (1.-0.952914);
}
if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0. && eta2 < 0.8) ) {
return (1.-0.960191);
}
if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0.8 && eta2 < 100.) ) {
return (1.-0.966175);
}
else {
std::cout << "WARNING, backgroundFunctionType11: this should not happen for eta1 = " << eta1 << " and eta2 = " << eta2 << std::endl;
return (1.-0.97);
}
}
};


#endif // FUNCTIONS_H
Loading