Fork me on GitHub

Changeset 94 in svn


Ignore:
Timestamp:
Dec 12, 2008, 5:32:29 PM (16 years ago)
Author:
severine ovyn
Message:

Add frog plus cleaning + bugs remove

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Delphes.cpp

    r80 r94  
    2929#include "interface/VeryForward.h"
    3030#include "interface/JetUtils.h"
     31#include "interface/FrogUtil.h"
    3132
    3233#include <vector>
     
    4041  cout << "** TODO list ..." << endl;
    4142  while(infile.good()) {
    42         string temp;
    43         getline(infile,temp);
    44         cout << "*" << temp << endl;
     43    string temp;
     44    getline(infile,temp);
     45    cout << "*" << temp << endl;
    4546  }
    4647  cout << "** done...\n";
     
    5556  char *appargv[] = {appName, "-b"};
    5657  TApplication app(appName, &appargc, appargv);
    57 
     58 
    5859  if(argc != 4 && argc != 3 && argc != 5) {
    59       cout << " Usage: " << argv[0] << " input_file output_file [detector_card] [trigger_card] " << endl;
    60       cout << " input_list - list of files in Ntpl, StdHep of LHEF format," << endl;
    61       cout << " output_file - output file." << endl;
    62       cout << " detector_card - Datacard containing resolution variables for the detector simulation (optional) "<<endl;
    63       cout << " trigger_card - Datacard containing the trigger algorithms (optional) "<<endl;
    64       exit(1);
     60    cout << " Usage: " << argv[0] << " input_file output_file [detector_card] [trigger_card] " << endl;
     61    cout << " input_list - list of files in Ntpl, StdHep of LHEF format," << endl;
     62    cout << " output_file - output file." << endl;
     63    cout << " detector_card - Datacard containing resolution variables for the detector simulation (optional) "<<endl;
     64    cout << " trigger_card - Datacard containing the trigger algorithms (optional) "<<endl;
     65    exit(1);
    6566  }
    66 
     67 
    6768  srand (time (NULL));         /* Initialisation du générateur */
    6869 
     
    7071  string inputFileList(argv[1]), outputfilename(argv[2]);
    7172  if(outputfilename.find(".root") > outputfilename.length() ) {
    72         cout << "output_file should be a .root file!\n";
    73         exit(1);
     73    cout << "output_file should be a .root file!\n";
     74    exit(1);
    7475  }
    7576  //create output log-file name
     
    7778  string LogName = forLog.erase(forLog.find(".root"));
    7879  LogName = LogName+"_run.log";
    79 
     80 
    8081  TFile *outputFile = TFile::Open(outputfilename.c_str(), "RECREATE"); // Creates the file, but should be closed just after
    8182  outputFile->Close();
    82 
     83 
    8384  string line;
    8485  ifstream infile(inputFileList.c_str());
    8586  infile >> line; // the first line determines the type of input files
    86 
     87 
    8788  //read the datacard input file
    8889  string DetDatacard("");
    89   if(argc==4)  DetDatacard =argv[3];
    90 
     90  if(argc>=4)  DetDatacard =argv[3];
     91 
    9192  //Smearing information
    9293  RESOLution *DET = new RESOLution();
    9394  DET->ReadDataCard(DetDatacard);
    9495  DET->Logfile(LogName);
    95 
     96 
    9697  //read the trigger input file
    9798  string TrigDatacard("data/trigger.dat");
    9899  if(argc==5)  TrigDatacard =argv[4];
    99  
     100  
    100101  //Trigger information
    101102  TriggerTable *TRIGT = new TriggerTable();
    102103  TRIGT->TriggerCardReader(TrigDatacard.c_str());
    103104  TRIGT->PrintTriggerTable(LogName);
    104 
     105 
    105106  //Propagation of tracks in the B field
    106107  TrackPropagation *TRACP = new TrackPropagation();
    107 
     108 
    108109  //Jet information
    109110  JetsUtil *JETRUN = new JetsUtil();
    110 
     111 
    111112  //VFD information
    112113  VeryForward * VFD = new VeryForward();
    113 
     114 
    114115  //todo(LogName.c_str());
    115  
     116  
    116117  DataConverter *converter=0;
    117    
     118 
    118119  if(strstr(line.c_str(),".hep"))
    119120    {                           
     
    174175  TLorentzVector genMomentumCalo(0,0,0,0);
    175176  LorentzVector jetMomentum;
    176  
     177  
    177178  vector<fastjet::PseudoJet> input_particles;//for FastJet algorithm
    178179  vector<fastjet::PseudoJet> sorted_jets;
    179 
     180 
    180181  vector<TLorentzVector> TrackCentral; 
    181182  vector<PhysicsTower> towers;
     
    186187  TSimpleArray<TRootGenParticle> NFCentralQ;
    187188 
    188 
    189 
     189 
     190 
    190191  // Loop over all events
    191192  Long64_t entry, allEntries = treeReader->GetEntries();
     
    212213        {
    213214          int pid = abs(particle->PID);
    214          //// This subarray is needed for the B-jet algorithm
     215          //// This subarray is needed for the B-jet algorithm
    215216          // optimization for speed : put first PID condition, then ETA condition, then either pt or status
    216217          if( (pid <= pB || pid == pGLUON) &&// is it a light quark or a gluon, i.e. is it one of these : u,d,c,s,b,g ?
    217               fabs(particle->Eta) < DET->MAX_TRACKER &&
     218              fabs(particle->Eta) < DET->CEN_max_tracker &&
    218219              particle->Status != 1 &&
    219220              particle->PT > DET->PT_QUARKS_MIN ) {
    220221            NFCentralQ.Add(particle);
    221222          }
    222                 
     223         
    223224          // keeps only final particles, visible by the central detector, including the fiducial volume
    224225          // the ordering of conditions have been optimised for speed : put first the STATUS condition
     
    227228          if( (particle->Status == 1)    &&
    228229              ((pid != pNU1) && (pid != pNU2) && (pid != pNU3)) &&
    229               (fabs(particle->Eta) < DET->MAX_CALO_FWD)
    230             )
     230              (fabs(particle->Eta) < DET->CEN_max_calo_fwd)
     231              )
    231232            {
    232             genMomentum.SetPxPyPzE(particle->Px, particle->Py, particle->Pz, particle->E);
    233             TRACP->Propagation(particle,genMomentum);
    234             float eta=fabs(genMomentum.Eta());
    235 
    236             switch(pid) {
     233              genMomentum.SetPxPyPzE(particle->Px, particle->Py, particle->Pz, particle->E);
     234              if(DET->FLAG_bfield==1)TRACP->Propagation(particle,genMomentum);
     235              float eta=fabs(genMomentum.Eta());
    237236             
    238             case pE: // all electrons with eta < DET->MAX_CALO_FWD
    239               DET->SmearElectron(genMomentum);
    240               if(genMomentum.E()!=0 && eta < DET->MAX_TRACKER && genMomentum.Pt() > DET->ELEC_pt){
    241               electron.push_back(ParticleUtil(genMomentum,particle->PID));
    242               }
    243               break; // case pE
    244             case pGAMMA: // all photons with eta < DET->MAX_CALO_FWD
    245               DET->SmearElectron(genMomentum);
    246               if(genMomentum.E()!=0 && eta < DET->MAX_TRACKER && genMomentum.Pt() > DET->GAMMA_pt) {
    247                 gamma.push_back(ParticleUtil(genMomentum,particle->PID));
     237              switch(pid) {
     238               
     239              case pE: // all electrons with eta < DET->MAX_CALO_FWD
     240                DET->SmearElectron(genMomentum);
     241                if(genMomentum.E()!=0 && eta < DET->CEN_max_tracker && genMomentum.Pt() > DET->PTCUT_elec){
     242                  electron.push_back(ParticleUtil(genMomentum,particle->PID));
     243                }
     244                break; // case pE
     245              case pGAMMA: // all photons with eta < DET->MAX_CALO_FWD
     246                DET->SmearElectron(genMomentum);
     247                if(genMomentum.E()!=0 && eta < DET->CEN_max_tracker && genMomentum.Pt() > DET->PTCUT_gamma) {
     248                  gamma.push_back(ParticleUtil(genMomentum,particle->PID));
     249                }
     250                break; // case pGAMMA
     251              case pMU: // all muons with eta < DET->MAX_MU
     252                DET->SmearMu(genMomentum);
     253                if(genMomentum.E()!=0 && eta < DET->CEN_max_mu &&  genMomentum.Pt() > DET->PTCUT_muon){
     254                  muon.push_back(ParticleUtil(genMomentum,particle->PID));
     255                }
     256                break; // case pMU
     257              case pLAMBDA: // all lambdas with eta < DET->MAX_CALO_FWD
     258              case pK0S:    // all K0s with eta < DET->MAX_CALO_FWD
     259                DET->SmearHadron(genMomentum, 0.7);
     260                break; // case hadron
     261              default:   // all other final particles with eta < DET->MAX_CALO_FWD
     262                DET->SmearHadron(genMomentum, 1.0);
     263                break;
     264              } // switch (pid)
     265             
     266              // all final particles but muons and neutrinos   
     267              // for calorimetric towers and mission PT
     268              int charge=Charge(pid);
     269              if(genMomentum.E() !=0 && pid != pMU) {
     270                if(charge == 0 || (charge !=0 && genMomentum.Pt() >= DET->TRACK_ptmin)){
     271                  PhysicsTower CaloTower = PhysicsTower(LorentzVector(genMomentum.Px(),genMomentum.Py(),genMomentum.Pz(), genMomentum.E()));
     272                  towers.push_back(CaloTower);
     273                  // create a fastjet::PseudoJet with these components and put it onto
     274                  // back of the input_particles vector
     275                  input_particles.push_back(fastjet::PseudoJet(genMomentum.Px(),genMomentum.Py(),genMomentum.Pz(), genMomentum.E()));
     276                 
     277                  genMomentumCalo.SetPxPyPzE(CaloTower.fourVector.px,CaloTower.fourVector.py,CaloTower.fourVector.pz,CaloTower.fourVector.E);
     278                 
     279                  elementCalo = (TRootCalo*) branchCalo->NewEntry();
     280                  elementCalo->Set(genMomentumCalo);
     281                  DET->BinEtaPhi(genMomentumCalo.Phi(), genMomentumCalo.Eta(), elementCalo->Phi, elementCalo->Eta);
     282                }
    248283              }
    249               break; // case pGAMMA
    250             case pMU: // all muons with eta < DET->MAX_MU
    251               DET->SmearMu(genMomentum);
    252               if(genMomentum.E()!=0 && eta < DET->MAX_MU &&  genMomentum.Pt() > DET->MUON_pt){
    253               muon.push_back(ParticleUtil(genMomentum,particle->PID));
    254               }
    255               break; // case pMU
    256             case pLAMBDA: // all lambdas with eta < DET->MAX_CALO_FWD
    257             case pK0S:    // all K0s with eta < DET->MAX_CALO_FWD
    258               DET->SmearHadron(genMomentum, 0.7);
    259               break; // case hadron
    260             default:   // all other final particles with eta < DET->MAX_CALO_FWD
    261               DET->SmearHadron(genMomentum, 1.0);
    262               break;
    263             } // switch (pid)
    264            
    265             // all final particles but muons and neutrinos     
    266             // for calorimetric towers and mission PT
    267             int charge=Charge(pid);
    268             if(genMomentum.E() !=0 && pid != pMU) {
    269               if(charge == 0 || (charge !=0 && genMomentum.Pt() >= DET->PT_TRACKS_MIN)){
    270                 PhysicsTower CaloTower = PhysicsTower(LorentzVector(genMomentum.Px(),genMomentum.Py(),genMomentum.Pz(), genMomentum.E()));
    271                 towers.push_back(CaloTower);
    272                 // create a fastjet::PseudoJet with these components and put it onto
    273                 // back of the input_particles vector
    274                 input_particles.push_back(fastjet::PseudoJet(genMomentum.Px(),genMomentum.Py(),genMomentum.Pz(), genMomentum.E()));
    275                
    276                 genMomentumCalo.SetPxPyPzE(CaloTower.fourVector.px,CaloTower.fourVector.py,CaloTower.fourVector.pz,CaloTower.fourVector.E);
    277                
    278                 elementCalo = (TRootCalo*) branchCalo->NewEntry();
    279                 elementCalo->Set(genMomentumCalo);
    280                 DET->BinEtaPhi(genMomentumCalo.Phi(), genMomentumCalo.Eta(), elementCalo->Phi, elementCalo->Eta);
    281               }
    282             }
    283            
    284             // all final charged particles
    285             if(
    286                (genMomentum.E()!=0) &&
    287                (fabs(genMomentum.Eta()) < DET->MAX_TRACKER) &&
    288                (genMomentum.Pt() > DET->PT_TRACKS_MIN ) &&     // pt too small to be taken into account
    289                ((rand()%100) < DET->TRACKING_EFF)  &&
    290                (charge!=0)
    291                )
    292               {
    293                 elementTracks = (TRootTracks*) branchTracks->NewEntry();
    294                 elementTracks->Set(genMomentum);
    295                 TrackCentral.push_back(genMomentum);
    296               }
    297            
     284             
     285              // all final charged particles
     286              if(
     287                 (genMomentum.E()!=0) &&
     288                 (fabs(genMomentum.Eta()) < DET->CEN_max_tracker) &&
     289                 (genMomentum.Pt() > DET->TRACK_ptmin ) &&     // pt too small to be taken into account
     290                 ((rand()%100) < DET->TRACK_eff)  &&
     291                 (charge!=0)
     292                 )
     293                {
     294                  elementTracks = (TRootTracks*) branchTracks->NewEntry();
     295                  elementTracks->Set(genMomentum);
     296                  TrackCentral.push_back(genMomentum);
     297                }
     298             
    298299            } // switch
    299300         
    300           VFD->ZDC(treeWriter,branchZDC,particle);
    301           VFD->RomanPots(treeWriter,branchRP220,branchFP420,particle);
     301          if(DET->FLAG_vfd==1)
     302            { 
     303              VFD->ZDC(treeWriter,branchZDC,particle);
     304              VFD->RomanPots(treeWriter,branchRP220,branchFP420,particle);
     305            }
    302306         
    303307        } // while
     
    350354  treeWriter->Write();
    351355  delete treeWriter;
    352 
     356 
    353357  //running the trigger in case the FLAG trigger is put to 1 in the datacard
    354  
    355   if(DET->DOTRIGGER == 1)
     358  
     359  if(DET->FLAG_trigger == 1)
    356360    {
    357361      TChain chainT("Analysis");
     
    378382          treeWriterT->Fill();
    379383        }
    380 
     384     
    381385      treeWriterT->Write();
    382386      delete treeWriterT;
    383387    }
    384 
     388 
     389  //FROG display
     390  if(DET->FLAG_frog == 1)
     391    {
     392      FrogDisplay *FROG = new FrogDisplay();
     393      FROG->BuidEvents(outputfilename,DET->NEvents_Frog);
     394      FROG->BuildGeom();
     395    }
     396 
    385397  cout << "** Exiting..." << endl;
    386398 
     
    391403  delete JETRUN;
    392404  delete VFD;
    393  
     405  
    394406  if(converter) delete converter;
    395 
     407 
    396408  todo("TODO");
    397409}
  • trunk/Makefile

    r86 r94  
    2828
    2929
     30Resolutions$(ExeSuf): \
     31        tmp/Resolutions.$(ObjSuf)
     32
     33tmp/Resolutions.$(ObjSuf): \
     34        Resolutions.cpp \
     35        Utilities/ExRootAnalysis/interface/ExRootTreeReader.h \
     36        Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
     37        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
     38        interface/DataConverter.h \
     39        interface/HEPEVTConverter.h \
     40        interface/LHEFConverter.h \
     41        interface/STDHEPConverter.h \
     42        interface/SmearUtil.h \
     43        interface/JetUtils.h \
     44        interface/BFieldProp.h \
     45        Utilities/Fastjet/include/fastjet/PseudoJet.hh \
     46        Utilities/Fastjet/include/fastjet/ClusterSequence.hh \
     47        interface/TreeClasses.h
    3048Delphes$(ExeSuf): \
    3149        tmp/Delphes.$(ObjSuf)
     
    4563        interface/VeryForward.h \
    4664        interface/JetUtils.h
    47 Resolutions$(ExeSuf): \
    48         tmp/Resolutions.$(ObjSuf)
    49 
    50 tmp/Resolutions.$(ObjSuf): \
    51         Resolutions.cpp \
    52         Utilities/ExRootAnalysis/interface/ExRootTreeReader.h \
    53         Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
    54         Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
    55         interface/DataConverter.h \
    56         interface/HEPEVTConverter.h \
    57         interface/LHEFConverter.h \
    58         interface/STDHEPConverter.h \
    59         interface/SmearUtil.h \
    60         Utilities/Fastjet/include/fastjet/PseudoJet.hh \
    61         Utilities/Fastjet/include/fastjet/ClusterSequence.hh \
    62         Utilities/Fastjet/include/fastjet/config.h \
    63         interface/TreeClasses.h
    6465Analysis_Ex$(ExeSuf): \
    6566        tmp/Examples/Analysis_Ex.$(ObjSuf)
     
    8485        Utilities/ExRootAnalysis/interface/BlockClasses.h
    8586EXECUTABLE =  \
     87        Resolutions$(ExeSuf) \
    8688        Delphes$(ExeSuf) \
    87         Resolutions$(ExeSuf) \
    8889        Analysis_Ex$(ExeSuf) \
    8990        Trigger_Only$(ExeSuf)
    9091
    9192EXECUTABLE_OBJ =  \
     93        tmp/Resolutions.$(ObjSuf) \
    9294        tmp/Delphes.$(ObjSuf) \
    93         tmp/Resolutions.$(ObjSuf) \
    9495        tmp/Examples/Analysis_Ex.$(ObjSuf) \
    9596        tmp/Examples/Trigger_Only.$(ObjSuf)
     
    117118        src/BFieldProp.$(SrcSuf) \
    118119        interface/BFieldProp.h
    119 tmp/src/HEPEVTConverter.$(ObjSuf): \
    120         src/HEPEVTConverter.$(SrcSuf) \
    121         Utilities/ExRootAnalysis/interface/BlockClasses.h \
    122         Utilities/ExRootAnalysis/interface/ExRootTreeReader.h \
    123         Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
    124         Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
    125         interface/HEPEVTConverter.h
    126 tmp/src/JetUtils.$(ObjSuf): \
    127         src/JetUtils.$(SrcSuf) \
    128         interface/JetUtils.h
    129 tmp/src/LHEFConverter.$(ObjSuf): \
    130         src/LHEFConverter.$(SrcSuf) \
    131         Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
    132         Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
    133         Utilities/ExRootAnalysis/interface/BlockClasses.h \
    134         interface/LHEFConverter.h \
    135         Utilities/ExRootAnalysis/interface/LHEF.h
    136120tmp/src/STDHEPConverter.$(ObjSuf): \
    137121        src/STDHEPConverter.$(SrcSuf) \
     
    144128        Utilities/stdhep/stdhep_declarations.h \
    145129        interface/STDHEPConverter.h
    146 tmp/src/SmearUtil.$(ObjSuf): \
    147         src/SmearUtil.$(SrcSuf) \
    148         interface/SmearUtil.h
    149 tmp/src/TreeClasses.$(ObjSuf): \
    150         src/TreeClasses.$(SrcSuf) \
    151         interface/TreeClasses.h
    152 tmp/src/TriggerUtil.$(ObjSuf): \
    153         src/TriggerUtil.$(SrcSuf) \
    154         interface/TriggerUtil.h
     130tmp/src/JetUtils.$(ObjSuf): \
     131        src/JetUtils.$(SrcSuf) \
     132        interface/JetUtils.h
    155133tmp/src/VeryForward.$(ObjSuf): \
    156134        src/VeryForward.$(SrcSuf) \
    157135        interface/VeryForward.h \
    158136        interface/SmearUtil.h
    159 tmp/Utilities/ExRootAnalysis/src/BlockClasses.$(ObjSuf): \
    160         Utilities/ExRootAnalysis/src/BlockClasses.$(SrcSuf) \
    161         Utilities/ExRootAnalysis/interface/BlockClasses.h \
    162         Utilities/ExRootAnalysis/interface/BlockCompare.h
     137tmp/src/TriggerUtil.$(ObjSuf): \
     138        src/TriggerUtil.$(SrcSuf) \
     139        interface/TriggerUtil.h
     140tmp/src/HEPEVTConverter.$(ObjSuf): \
     141        src/HEPEVTConverter.$(SrcSuf) \
     142        Utilities/ExRootAnalysis/interface/BlockClasses.h \
     143        Utilities/ExRootAnalysis/interface/ExRootTreeReader.h \
     144        Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
     145        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
     146        interface/HEPEVTConverter.h
     147tmp/src/SmearUtil.$(ObjSuf): \
     148        src/SmearUtil.$(SrcSuf) \
     149        interface/SmearUtil.h
     150tmp/src/FrogUtil.$(ObjSuf): \
     151        src/FrogUtil.$(SrcSuf)
     152tmp/src/TreeClasses.$(ObjSuf): \
     153        src/TreeClasses.$(SrcSuf) \
     154        interface/TreeClasses.h
     155tmp/src/LHEFConverter.$(ObjSuf): \
     156        src/LHEFConverter.$(SrcSuf) \
     157        Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
     158        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
     159        Utilities/ExRootAnalysis/interface/BlockClasses.h \
     160        interface/LHEFConverter.h \
     161        Utilities/ExRootAnalysis/interface/LHEF.h
     162tmp/Utilities/ExRootAnalysis/src/ExRootTreeReader.$(ObjSuf): \
     163        Utilities/ExRootAnalysis/src/ExRootTreeReader.$(SrcSuf) \
     164        Utilities/ExRootAnalysis/interface/ExRootTreeReader.h
     165tmp/Utilities/ExRootAnalysis/src/ExRootTreeBranch.$(ObjSuf): \
     166        Utilities/ExRootAnalysis/src/ExRootTreeBranch.$(SrcSuf) \
     167        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h
    163168tmp/Utilities/ExRootAnalysis/src/ExRootProgressBar.$(ObjSuf): \
    164169        Utilities/ExRootAnalysis/src/ExRootProgressBar.$(SrcSuf) \
    165170        Utilities/ExRootAnalysis/interface/ExRootProgressBar.h
    166 tmp/Utilities/ExRootAnalysis/src/ExRootTreeBranch.$(ObjSuf): \
    167         Utilities/ExRootAnalysis/src/ExRootTreeBranch.$(SrcSuf) \
    168         Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h
    169 tmp/Utilities/ExRootAnalysis/src/ExRootTreeReader.$(ObjSuf): \
    170         Utilities/ExRootAnalysis/src/ExRootTreeReader.$(SrcSuf) \
    171         Utilities/ExRootAnalysis/interface/ExRootTreeReader.h
    172171tmp/Utilities/ExRootAnalysis/src/ExRootTreeWriter.$(ObjSuf): \
    173172        Utilities/ExRootAnalysis/src/ExRootTreeWriter.$(SrcSuf) \
    174173        Utilities/ExRootAnalysis/interface/ExRootTreeWriter.h \
    175174        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h
     175tmp/Utilities/ExRootAnalysis/src/BlockClasses.$(ObjSuf): \
     176        Utilities/ExRootAnalysis/src/BlockClasses.$(SrcSuf) \
     177        Utilities/ExRootAnalysis/interface/BlockClasses.h \
     178        Utilities/ExRootAnalysis/interface/BlockCompare.h
     179tmp/Utilities/Hector/src/H_Parameters.$(ObjSuf): \
     180        Utilities/Hector/src/H_Parameters.$(SrcSuf)
     181tmp/Utilities/Hector/src/H_HorizontalKicker.$(ObjSuf): \
     182        Utilities/Hector/src/H_HorizontalKicker.$(SrcSuf)
     183tmp/Utilities/Hector/src/H_HorizontalQuadrupole.$(ObjSuf): \
     184        Utilities/Hector/src/H_HorizontalQuadrupole.$(SrcSuf)
     185tmp/Utilities/Hector/src/H_SectorDipole.$(ObjSuf): \
     186        Utilities/Hector/src/H_SectorDipole.$(SrcSuf)
     187tmp/Utilities/Hector/src/H_RecRPObject.$(ObjSuf): \
     188        Utilities/Hector/src/H_RecRPObject.$(SrcSuf)
     189tmp/Utilities/Hector/src/H_CircularAperture.$(ObjSuf): \
     190        Utilities/Hector/src/H_CircularAperture.$(SrcSuf)
     191tmp/Utilities/Hector/src/H_RectEllipticAperture.$(ObjSuf): \
     192        Utilities/Hector/src/H_RectEllipticAperture.$(SrcSuf)
    176193tmp/Utilities/Hector/src/H_AbstractBeamLine.$(ObjSuf): \
    177194        Utilities/Hector/src/H_AbstractBeamLine.$(SrcSuf)
     195tmp/Utilities/Hector/src/H_TransportMatrices.$(ObjSuf): \
     196        Utilities/Hector/src/H_TransportMatrices.$(SrcSuf)
    178197tmp/Utilities/Hector/src/H_Aperture.$(ObjSuf): \
    179198        Utilities/Hector/src/H_Aperture.$(SrcSuf)
     199tmp/Utilities/Hector/src/H_OpticalElement.$(ObjSuf): \
     200        Utilities/Hector/src/H_OpticalElement.$(SrcSuf)
     201tmp/Utilities/Hector/src/H_BeamLine.$(ObjSuf): \
     202        Utilities/Hector/src/H_BeamLine.$(SrcSuf)
     203tmp/Utilities/Hector/src/H_BeamParticle.$(ObjSuf): \
     204        Utilities/Hector/src/H_BeamParticle.$(SrcSuf)
     205tmp/Utilities/Hector/src/H_RectangularCollimator.$(ObjSuf): \
     206        Utilities/Hector/src/H_RectangularCollimator.$(SrcSuf)
     207tmp/Utilities/Hector/src/H_RectangularDipole.$(ObjSuf): \
     208        Utilities/Hector/src/H_RectangularDipole.$(SrcSuf)
     209tmp/Utilities/Hector/src/H_BeamLineParser.$(ObjSuf): \
     210        Utilities/Hector/src/H_BeamLineParser.$(SrcSuf)
    180211tmp/Utilities/Hector/src/H_Beam.$(ObjSuf): \
    181212        Utilities/Hector/src/H_Beam.$(SrcSuf)
    182 tmp/Utilities/Hector/src/H_BeamLine.$(ObjSuf): \
    183         Utilities/Hector/src/H_BeamLine.$(SrcSuf)
    184 tmp/Utilities/Hector/src/H_BeamLineParser.$(ObjSuf): \
    185         Utilities/Hector/src/H_BeamLineParser.$(SrcSuf)
    186 tmp/Utilities/Hector/src/H_BeamParticle.$(ObjSuf): \
    187         Utilities/Hector/src/H_BeamParticle.$(SrcSuf)
    188 tmp/Utilities/Hector/src/H_CircularAperture.$(ObjSuf): \
    189         Utilities/Hector/src/H_CircularAperture.$(SrcSuf)
    190 tmp/Utilities/Hector/src/H_Dipole.$(ObjSuf): \
    191         Utilities/Hector/src/H_Dipole.$(SrcSuf)
     213tmp/Utilities/Hector/src/H_Marker.$(ObjSuf): \
     214        Utilities/Hector/src/H_Marker.$(SrcSuf)
     215tmp/Utilities/Hector/src/H_Kicker.$(ObjSuf): \
     216        Utilities/Hector/src/H_Kicker.$(SrcSuf)
     217tmp/Utilities/Hector/src/H_RomanPot.$(ObjSuf): \
     218        Utilities/Hector/src/H_RomanPot.$(SrcSuf)
    192219tmp/Utilities/Hector/src/H_Drift.$(ObjSuf): \
    193220        Utilities/Hector/src/H_Drift.$(SrcSuf)
    194221tmp/Utilities/Hector/src/H_EllipticAperture.$(ObjSuf): \
    195222        Utilities/Hector/src/H_EllipticAperture.$(SrcSuf)
    196 tmp/Utilities/Hector/src/H_HorizontalKicker.$(ObjSuf): \
    197         Utilities/Hector/src/H_HorizontalKicker.$(SrcSuf)
    198 tmp/Utilities/Hector/src/H_HorizontalQuadrupole.$(ObjSuf): \
    199         Utilities/Hector/src/H_HorizontalQuadrupole.$(SrcSuf)
    200 tmp/Utilities/Hector/src/H_Kicker.$(ObjSuf): \
    201         Utilities/Hector/src/H_Kicker.$(SrcSuf)
    202 tmp/Utilities/Hector/src/H_Marker.$(ObjSuf): \
    203         Utilities/Hector/src/H_Marker.$(SrcSuf)
    204 tmp/Utilities/Hector/src/H_OpticalElement.$(ObjSuf): \
    205         Utilities/Hector/src/H_OpticalElement.$(SrcSuf)
    206 tmp/Utilities/Hector/src/H_Parameters.$(ObjSuf): \
    207         Utilities/Hector/src/H_Parameters.$(SrcSuf)
     223tmp/Utilities/Hector/src/H_RectangularAperture.$(ObjSuf): \
     224        Utilities/Hector/src/H_RectangularAperture.$(SrcSuf)
     225tmp/Utilities/Hector/src/H_VerticalQuadrupole.$(ObjSuf): \
     226        Utilities/Hector/src/H_VerticalQuadrupole.$(SrcSuf)
     227tmp/Utilities/Hector/src/H_Dipole.$(ObjSuf): \
     228        Utilities/Hector/src/H_Dipole.$(SrcSuf)
     229tmp/Utilities/Hector/src/H_VerticalKicker.$(ObjSuf): \
     230        Utilities/Hector/src/H_VerticalKicker.$(SrcSuf)
    208231tmp/Utilities/Hector/src/H_Quadrupole.$(ObjSuf): \
    209232        Utilities/Hector/src/H_Quadrupole.$(SrcSuf)
    210 tmp/Utilities/Hector/src/H_RecRPObject.$(ObjSuf): \
    211         Utilities/Hector/src/H_RecRPObject.$(SrcSuf)
    212 tmp/Utilities/Hector/src/H_RectEllipticAperture.$(ObjSuf): \
    213         Utilities/Hector/src/H_RectEllipticAperture.$(SrcSuf)
    214 tmp/Utilities/Hector/src/H_RectangularAperture.$(ObjSuf): \
    215         Utilities/Hector/src/H_RectangularAperture.$(SrcSuf)
    216 tmp/Utilities/Hector/src/H_RectangularCollimator.$(ObjSuf): \
    217         Utilities/Hector/src/H_RectangularCollimator.$(SrcSuf)
    218 tmp/Utilities/Hector/src/H_RectangularDipole.$(ObjSuf): \
    219         Utilities/Hector/src/H_RectangularDipole.$(SrcSuf)
    220 tmp/Utilities/Hector/src/H_RomanPot.$(ObjSuf): \
    221         Utilities/Hector/src/H_RomanPot.$(SrcSuf)
    222 tmp/Utilities/Hector/src/H_SectorDipole.$(ObjSuf): \
    223         Utilities/Hector/src/H_SectorDipole.$(SrcSuf)
    224 tmp/Utilities/Hector/src/H_TransportMatrices.$(ObjSuf): \
    225         Utilities/Hector/src/H_TransportMatrices.$(SrcSuf)
    226 tmp/Utilities/Hector/src/H_VerticalKicker.$(ObjSuf): \
    227         Utilities/Hector/src/H_VerticalKicker.$(SrcSuf)
    228 tmp/Utilities/Hector/src/H_VerticalQuadrupole.$(ObjSuf): \
    229         Utilities/Hector/src/H_VerticalQuadrupole.$(SrcSuf)
     233tmp/Utilities/Fastjet/src/ClosestPair2D.$(ObjSuf): \
     234        Utilities/Fastjet/src/ClosestPair2D.$(SrcSuf)
     235tmp/Utilities/Fastjet/src/Dnn2piCylinder.$(ObjSuf): \
     236        Utilities/Fastjet/src/Dnn2piCylinder.$(SrcSuf)
     237tmp/Utilities/Fastjet/src/ClusterSequenceActiveArea.$(ObjSuf): \
     238        Utilities/Fastjet/src/ClusterSequenceActiveArea.$(SrcSuf)
     239tmp/Utilities/Fastjet/src/ClusterSequence_TiledN2.$(ObjSuf): \
     240        Utilities/Fastjet/src/ClusterSequence_TiledN2.$(SrcSuf)
     241tmp/Utilities/Fastjet/src/ClusterSequence_CP2DChan.$(ObjSuf): \
     242        Utilities/Fastjet/src/ClusterSequence_CP2DChan.$(SrcSuf)
     243tmp/Utilities/Fastjet/src/ClusterSequence_N2.$(ObjSuf): \
     244        Utilities/Fastjet/src/ClusterSequence_N2.$(SrcSuf)
     245tmp/Utilities/Fastjet/src/ClusterSequencePassiveArea.$(ObjSuf): \
     246        Utilities/Fastjet/src/ClusterSequencePassiveArea.$(SrcSuf)
     247tmp/Utilities/Fastjet/src/GhostedAreaSpec.$(ObjSuf): \
     248        Utilities/Fastjet/src/GhostedAreaSpec.$(SrcSuf)
     249tmp/Utilities/Fastjet/src/ClusterSequence.$(ObjSuf): \
     250        Utilities/Fastjet/src/ClusterSequence.$(SrcSuf)
     251tmp/Utilities/Fastjet/src/RangeDefinition.$(ObjSuf): \
     252        Utilities/Fastjet/src/RangeDefinition.$(SrcSuf)
     253tmp/Utilities/Fastjet/src/BasicRandom.$(ObjSuf): \
     254        Utilities/Fastjet/src/BasicRandom.$(SrcSuf)
     255tmp/Utilities/Fastjet/src/ClusterSequenceArea.$(ObjSuf): \
     256        Utilities/Fastjet/src/ClusterSequenceArea.$(SrcSuf)
     257tmp/Utilities/Fastjet/src/ClusterSequenceActiveAreaExplicitGhosts.$(ObjSuf): \
     258        Utilities/Fastjet/src/ClusterSequenceActiveAreaExplicitGhosts.$(SrcSuf)
     259tmp/Utilities/Fastjet/src/PseudoJet.$(ObjSuf): \
     260        Utilities/Fastjet/src/PseudoJet.$(SrcSuf)
    230261tmp/Utilities/Fastjet/src/AreaDefinition.$(ObjSuf): \
    231262        Utilities/Fastjet/src/AreaDefinition.$(SrcSuf)
    232 tmp/Utilities/Fastjet/src/BasicRandom.$(ObjSuf): \
    233         Utilities/Fastjet/src/BasicRandom.$(SrcSuf)
    234 tmp/Utilities/Fastjet/src/ClosestPair2D.$(ObjSuf): \
    235         Utilities/Fastjet/src/ClosestPair2D.$(SrcSuf)
    236 tmp/Utilities/Fastjet/src/ClusterSequence.$(ObjSuf): \
    237         Utilities/Fastjet/src/ClusterSequence.$(SrcSuf)
     263tmp/Utilities/Fastjet/src/ClusterSequence_DumbN3.$(ObjSuf): \
     264        Utilities/Fastjet/src/ClusterSequence_DumbN3.$(SrcSuf)
     265tmp/Utilities/Fastjet/src/ClusterSequenceVoronoiArea.$(ObjSuf): \
     266        Utilities/Fastjet/src/ClusterSequenceVoronoiArea.$(SrcSuf)
     267tmp/Utilities/Fastjet/src/Dnn3piCylinder.$(ObjSuf): \
     268        Utilities/Fastjet/src/Dnn3piCylinder.$(SrcSuf)
     269tmp/Utilities/Fastjet/src/Error.$(ObjSuf): \
     270        Utilities/Fastjet/src/Error.$(SrcSuf)
     271tmp/Utilities/Fastjet/src/ClusterSequenceAreaBase.$(ObjSuf): \
     272        Utilities/Fastjet/src/ClusterSequenceAreaBase.$(SrcSuf)
     273tmp/Utilities/Fastjet/src/Dnn4piCylinder.$(ObjSuf): \
     274        Utilities/Fastjet/src/Dnn4piCylinder.$(SrcSuf)
    238275tmp/Utilities/Fastjet/src/ClusterSequence1GhostPassiveArea.$(ObjSuf): \
    239276        Utilities/Fastjet/src/ClusterSequence1GhostPassiveArea.$(SrcSuf)
    240 tmp/Utilities/Fastjet/src/ClusterSequenceActiveArea.$(ObjSuf): \
    241         Utilities/Fastjet/src/ClusterSequenceActiveArea.$(SrcSuf)
    242 tmp/Utilities/Fastjet/src/ClusterSequenceActiveAreaExplicitGhosts.$(ObjSuf): \
    243         Utilities/Fastjet/src/ClusterSequenceActiveAreaExplicitGhosts.$(SrcSuf)
    244 tmp/Utilities/Fastjet/src/ClusterSequenceArea.$(ObjSuf): \
    245         Utilities/Fastjet/src/ClusterSequenceArea.$(SrcSuf)
    246 tmp/Utilities/Fastjet/src/ClusterSequenceAreaBase.$(ObjSuf): \
    247         Utilities/Fastjet/src/ClusterSequenceAreaBase.$(SrcSuf)
    248 tmp/Utilities/Fastjet/src/ClusterSequencePassiveArea.$(ObjSuf): \
    249         Utilities/Fastjet/src/ClusterSequencePassiveArea.$(SrcSuf)
    250 tmp/Utilities/Fastjet/src/ClusterSequenceVoronoiArea.$(ObjSuf): \
    251         Utilities/Fastjet/src/ClusterSequenceVoronoiArea.$(SrcSuf)
    252 tmp/Utilities/Fastjet/src/ClusterSequence_CP2DChan.$(ObjSuf): \
    253         Utilities/Fastjet/src/ClusterSequence_CP2DChan.$(SrcSuf)
     277tmp/Utilities/Fastjet/src/JetDefinition.$(ObjSuf): \
     278        Utilities/Fastjet/src/JetDefinition.$(SrcSuf)
     279tmp/Utilities/Fastjet/src/DnnPlane.$(ObjSuf): \
     280        Utilities/Fastjet/src/DnnPlane.$(SrcSuf)
    254281tmp/Utilities/Fastjet/src/ClusterSequence_Delaunay.$(ObjSuf): \
    255282        Utilities/Fastjet/src/ClusterSequence_Delaunay.$(SrcSuf)
    256 tmp/Utilities/Fastjet/src/ClusterSequence_DumbN3.$(ObjSuf): \
    257         Utilities/Fastjet/src/ClusterSequence_DumbN3.$(SrcSuf)
    258 tmp/Utilities/Fastjet/src/ClusterSequence_N2.$(ObjSuf): \
    259         Utilities/Fastjet/src/ClusterSequence_N2.$(SrcSuf)
    260 tmp/Utilities/Fastjet/src/ClusterSequence_TiledN2.$(ObjSuf): \
    261         Utilities/Fastjet/src/ClusterSequence_TiledN2.$(SrcSuf)
    262 tmp/Utilities/Fastjet/src/Dnn2piCylinder.$(ObjSuf): \
    263         Utilities/Fastjet/src/Dnn2piCylinder.$(SrcSuf)
    264 tmp/Utilities/Fastjet/src/Dnn3piCylinder.$(ObjSuf): \
    265         Utilities/Fastjet/src/Dnn3piCylinder.$(SrcSuf)
    266 tmp/Utilities/Fastjet/src/Dnn4piCylinder.$(ObjSuf): \
    267         Utilities/Fastjet/src/Dnn4piCylinder.$(SrcSuf)
    268 tmp/Utilities/Fastjet/src/DnnPlane.$(ObjSuf): \
    269         Utilities/Fastjet/src/DnnPlane.$(SrcSuf)
    270 tmp/Utilities/Fastjet/src/Error.$(ObjSuf): \
    271         Utilities/Fastjet/src/Error.$(SrcSuf)
    272 tmp/Utilities/Fastjet/src/GhostedAreaSpec.$(ObjSuf): \
    273         Utilities/Fastjet/src/GhostedAreaSpec.$(SrcSuf)
    274 tmp/Utilities/Fastjet/src/JetDefinition.$(ObjSuf): \
    275         Utilities/Fastjet/src/JetDefinition.$(SrcSuf)
    276283tmp/Utilities/Fastjet/src/MinHeap.$(ObjSuf): \
    277284        Utilities/Fastjet/src/MinHeap.$(SrcSuf)
    278 tmp/Utilities/Fastjet/src/PseudoJet.$(ObjSuf): \
    279         Utilities/Fastjet/src/PseudoJet.$(SrcSuf)
    280 tmp/Utilities/Fastjet/src/RangeDefinition.$(ObjSuf): \
    281         Utilities/Fastjet/src/RangeDefinition.$(SrcSuf)
    282285tmp/Utilities/Fastjet/src/Voronoi.$(ObjSuf): \
    283286        Utilities/Fastjet/src/Voronoi.$(SrcSuf)
     
    289292        Utilities/Fastjet/include/fastjet/ClusterSequence.hh \
    290293        Utilities/Fastjet/include/fastjet/Error.hh
     294tmp/Utilities/Fastjet/plugins/CDFCones/src/Cluster.$(ObjSuf): \
     295        Utilities/Fastjet/plugins/CDFCones/src/Cluster.$(SrcSuf)
     296tmp/Utilities/Fastjet/plugins/CDFCones/src/JetCluAlgorithm.$(ObjSuf): \
     297        Utilities/Fastjet/plugins/CDFCones/src/JetCluAlgorithm.$(SrcSuf)
     298tmp/Utilities/Fastjet/plugins/CDFCones/src/ClusterComparisons.$(ObjSuf): \
     299        Utilities/Fastjet/plugins/CDFCones/src/ClusterComparisons.$(SrcSuf)
     300tmp/Utilities/Fastjet/plugins/CDFCones/src/PhysicsTower.$(ObjSuf): \
     301        Utilities/Fastjet/plugins/CDFCones/src/PhysicsTower.$(SrcSuf)
    291302tmp/Utilities/Fastjet/plugins/CDFCones/src/CalTower.$(ObjSuf): \
    292303        Utilities/Fastjet/plugins/CDFCones/src/CalTower.$(SrcSuf)
     304tmp/Utilities/Fastjet/plugins/CDFCones/src/LorentzVector.$(ObjSuf): \
     305        Utilities/Fastjet/plugins/CDFCones/src/LorentzVector.$(SrcSuf)
    293306tmp/Utilities/Fastjet/plugins/CDFCones/src/Centroid.$(ObjSuf): \
    294307        Utilities/Fastjet/plugins/CDFCones/src/Centroid.$(SrcSuf)
    295 tmp/Utilities/Fastjet/plugins/CDFCones/src/Cluster.$(ObjSuf): \
    296         Utilities/Fastjet/plugins/CDFCones/src/Cluster.$(SrcSuf)
    297 tmp/Utilities/Fastjet/plugins/CDFCones/src/ClusterComparisons.$(ObjSuf): \
    298         Utilities/Fastjet/plugins/CDFCones/src/ClusterComparisons.$(SrcSuf)
    299 tmp/Utilities/Fastjet/plugins/CDFCones/src/JetCluAlgorithm.$(ObjSuf): \
    300         Utilities/Fastjet/plugins/CDFCones/src/JetCluAlgorithm.$(SrcSuf)
    301 tmp/Utilities/Fastjet/plugins/CDFCones/src/LorentzVector.$(ObjSuf): \
    302         Utilities/Fastjet/plugins/CDFCones/src/LorentzVector.$(SrcSuf)
    303308tmp/Utilities/Fastjet/plugins/CDFCones/src/MidPointAlgorithm.$(ObjSuf): \
    304309        Utilities/Fastjet/plugins/CDFCones/src/MidPointAlgorithm.$(SrcSuf)
    305 tmp/Utilities/Fastjet/plugins/CDFCones/src/PhysicsTower.$(ObjSuf): \
    306         Utilities/Fastjet/plugins/CDFCones/src/PhysicsTower.$(SrcSuf)
    307310tmp/Utilities/Fastjet/plugins/SISCone/SISConePlugin.$(ObjSuf): \
    308311        Utilities/Fastjet/plugins/SISCone/SISConePlugin.$(SrcSuf) \
    309312        Utilities/Fastjet/include/fastjet/ClusterSequence.hh
     313tmp/Utilities/Fastjet/plugins/SISCone/src/ranlux.$(ObjSuf): \
     314        Utilities/Fastjet/plugins/SISCone/src/ranlux.$(SrcSuf)
     315tmp/Utilities/Fastjet/plugins/SISCone/src/protocones.$(ObjSuf): \
     316        Utilities/Fastjet/plugins/SISCone/src/protocones.$(SrcSuf)
     317tmp/Utilities/Fastjet/plugins/SISCone/src/vicinity.$(ObjSuf): \
     318        Utilities/Fastjet/plugins/SISCone/src/vicinity.$(SrcSuf)
     319tmp/Utilities/Fastjet/plugins/SISCone/src/siscone_error.$(ObjSuf): \
     320        Utilities/Fastjet/plugins/SISCone/src/siscone_error.$(SrcSuf)
     321tmp/Utilities/Fastjet/plugins/SISCone/src/siscone.$(ObjSuf): \
     322        Utilities/Fastjet/plugins/SISCone/src/siscone.$(SrcSuf)
     323tmp/Utilities/Fastjet/plugins/SISCone/src/area.$(ObjSuf): \
     324        Utilities/Fastjet/plugins/SISCone/src/area.$(SrcSuf)
     325tmp/Utilities/Fastjet/plugins/SISCone/src/hash.$(ObjSuf): \
     326        Utilities/Fastjet/plugins/SISCone/src/hash.$(SrcSuf)
     327tmp/Utilities/Fastjet/plugins/SISCone/src/reference.$(ObjSuf): \
     328        Utilities/Fastjet/plugins/SISCone/src/reference.$(SrcSuf)
     329tmp/Utilities/Fastjet/plugins/SISCone/src/momentum.$(ObjSuf): \
     330        Utilities/Fastjet/plugins/SISCone/src/momentum.$(SrcSuf)
    310331tmp/Utilities/Fastjet/plugins/SISCone/src/geom_2d.$(ObjSuf): \
    311332        Utilities/Fastjet/plugins/SISCone/src/geom_2d.$(SrcSuf)
    312 tmp/Utilities/Fastjet/plugins/SISCone/src/area.$(ObjSuf): \
    313         Utilities/Fastjet/plugins/SISCone/src/area.$(SrcSuf)
    314 tmp/Utilities/Fastjet/plugins/SISCone/src/momentum.$(ObjSuf): \
    315         Utilities/Fastjet/plugins/SISCone/src/momentum.$(SrcSuf)
    316 tmp/Utilities/Fastjet/plugins/SISCone/src/hash.$(ObjSuf): \
    317         Utilities/Fastjet/plugins/SISCone/src/hash.$(SrcSuf)
    318 tmp/Utilities/Fastjet/plugins/SISCone/src/protocones.$(ObjSuf): \
    319         Utilities/Fastjet/plugins/SISCone/src/protocones.$(SrcSuf)
     333tmp/Utilities/Fastjet/plugins/SISCone/src/split_merge.$(ObjSuf): \
     334        Utilities/Fastjet/plugins/SISCone/src/split_merge.$(SrcSuf)
    320335tmp/Utilities/Fastjet/plugins/SISCone/src/quadtree.$(ObjSuf): \
    321336        Utilities/Fastjet/plugins/SISCone/src/quadtree.$(SrcSuf)
    322 tmp/Utilities/Fastjet/plugins/SISCone/src/ranlux.$(ObjSuf): \
    323         Utilities/Fastjet/plugins/SISCone/src/ranlux.$(SrcSuf)
    324 tmp/Utilities/Fastjet/plugins/SISCone/src/reference.$(ObjSuf): \
    325         Utilities/Fastjet/plugins/SISCone/src/reference.$(SrcSuf)
    326 tmp/Utilities/Fastjet/plugins/SISCone/src/siscone.$(ObjSuf): \
    327         Utilities/Fastjet/plugins/SISCone/src/siscone.$(SrcSuf)
    328 tmp/Utilities/Fastjet/plugins/SISCone/src/siscone_error.$(ObjSuf): \
    329         Utilities/Fastjet/plugins/SISCone/src/siscone_error.$(SrcSuf)
    330 tmp/Utilities/Fastjet/plugins/SISCone/src/split_merge.$(ObjSuf): \
    331         Utilities/Fastjet/plugins/SISCone/src/split_merge.$(SrcSuf)
    332 tmp/Utilities/Fastjet/plugins/SISCone/src/vicinity.$(ObjSuf): \
    333         Utilities/Fastjet/plugins/SISCone/src/vicinity.$(SrcSuf)
    334337tmp/Examples/src/Analysis_Ex.$(ObjSuf): \
    335338        Examples/src/Analysis_Ex.$(SrcSuf) \
     
    337340SOURCE_OBJ =  \
    338341        tmp/src/BFieldProp.$(ObjSuf) \
     342        tmp/src/STDHEPConverter.$(ObjSuf) \
     343        tmp/src/JetUtils.$(ObjSuf) \
     344        tmp/src/VeryForward.$(ObjSuf) \
     345        tmp/src/TriggerUtil.$(ObjSuf) \
    339346        tmp/src/HEPEVTConverter.$(ObjSuf) \
    340         tmp/src/JetUtils.$(ObjSuf) \
     347        tmp/src/SmearUtil.$(ObjSuf) \
     348        tmp/src/FrogUtil.$(ObjSuf) \
     349        tmp/src/TreeClasses.$(ObjSuf) \
    341350        tmp/src/LHEFConverter.$(ObjSuf) \
    342         tmp/src/STDHEPConverter.$(ObjSuf) \
    343         tmp/src/SmearUtil.$(ObjSuf) \
    344         tmp/src/TreeClasses.$(ObjSuf) \
    345         tmp/src/TriggerUtil.$(ObjSuf) \
    346         tmp/src/VeryForward.$(ObjSuf) \
     351        tmp/Utilities/ExRootAnalysis/src/ExRootTreeReader.$(ObjSuf) \
     352        tmp/Utilities/ExRootAnalysis/src/ExRootTreeBranch.$(ObjSuf) \
     353        tmp/Utilities/ExRootAnalysis/src/ExRootProgressBar.$(ObjSuf) \
     354        tmp/Utilities/ExRootAnalysis/src/ExRootTreeWriter.$(ObjSuf) \
    347355        tmp/Utilities/ExRootAnalysis/src/BlockClasses.$(ObjSuf) \
    348         tmp/Utilities/ExRootAnalysis/src/ExRootProgressBar.$(ObjSuf) \
    349         tmp/Utilities/ExRootAnalysis/src/ExRootTreeBranch.$(ObjSuf) \
    350         tmp/Utilities/ExRootAnalysis/src/ExRootTreeReader.$(ObjSuf) \
    351         tmp/Utilities/ExRootAnalysis/src/ExRootTreeWriter.$(ObjSuf) \
     356        tmp/Utilities/Hector/src/H_Parameters.$(ObjSuf) \
     357        tmp/Utilities/Hector/src/H_HorizontalKicker.$(ObjSuf) \
     358        tmp/Utilities/Hector/src/H_HorizontalQuadrupole.$(ObjSuf) \
     359        tmp/Utilities/Hector/src/H_SectorDipole.$(ObjSuf) \
     360        tmp/Utilities/Hector/src/H_RecRPObject.$(ObjSuf) \
     361        tmp/Utilities/Hector/src/H_CircularAperture.$(ObjSuf) \
     362        tmp/Utilities/Hector/src/H_RectEllipticAperture.$(ObjSuf) \
    352363        tmp/Utilities/Hector/src/H_AbstractBeamLine.$(ObjSuf) \
     364        tmp/Utilities/Hector/src/H_TransportMatrices.$(ObjSuf) \
    353365        tmp/Utilities/Hector/src/H_Aperture.$(ObjSuf) \
     366        tmp/Utilities/Hector/src/H_OpticalElement.$(ObjSuf) \
     367        tmp/Utilities/Hector/src/H_BeamLine.$(ObjSuf) \
     368        tmp/Utilities/Hector/src/H_BeamParticle.$(ObjSuf) \
     369        tmp/Utilities/Hector/src/H_RectangularCollimator.$(ObjSuf) \
     370        tmp/Utilities/Hector/src/H_RectangularDipole.$(ObjSuf) \
     371        tmp/Utilities/Hector/src/H_BeamLineParser.$(ObjSuf) \
    354372        tmp/Utilities/Hector/src/H_Beam.$(ObjSuf) \
    355         tmp/Utilities/Hector/src/H_BeamLine.$(ObjSuf) \
    356         tmp/Utilities/Hector/src/H_BeamLineParser.$(ObjSuf) \
    357         tmp/Utilities/Hector/src/H_BeamParticle.$(ObjSuf) \
    358         tmp/Utilities/Hector/src/H_CircularAperture.$(ObjSuf) \
    359         tmp/Utilities/Hector/src/H_Dipole.$(ObjSuf) \
     373        tmp/Utilities/Hector/src/H_Marker.$(ObjSuf) \
     374        tmp/Utilities/Hector/src/H_Kicker.$(ObjSuf) \
     375        tmp/Utilities/Hector/src/H_RomanPot.$(ObjSuf) \
    360376        tmp/Utilities/Hector/src/H_Drift.$(ObjSuf) \
    361377        tmp/Utilities/Hector/src/H_EllipticAperture.$(ObjSuf) \
    362         tmp/Utilities/Hector/src/H_HorizontalKicker.$(ObjSuf) \
    363         tmp/Utilities/Hector/src/H_HorizontalQuadrupole.$(ObjSuf) \
    364         tmp/Utilities/Hector/src/H_Kicker.$(ObjSuf) \
    365         tmp/Utilities/Hector/src/H_Marker.$(ObjSuf) \
    366         tmp/Utilities/Hector/src/H_OpticalElement.$(ObjSuf) \
    367         tmp/Utilities/Hector/src/H_Parameters.$(ObjSuf) \
     378        tmp/Utilities/Hector/src/H_RectangularAperture.$(ObjSuf) \
     379        tmp/Utilities/Hector/src/H_VerticalQuadrupole.$(ObjSuf) \
     380        tmp/Utilities/Hector/src/H_Dipole.$(ObjSuf) \
     381        tmp/Utilities/Hector/src/H_VerticalKicker.$(ObjSuf) \
    368382        tmp/Utilities/Hector/src/H_Quadrupole.$(ObjSuf) \
    369         tmp/Utilities/Hector/src/H_RecRPObject.$(ObjSuf) \
    370         tmp/Utilities/Hector/src/H_RectEllipticAperture.$(ObjSuf) \
    371         tmp/Utilities/Hector/src/H_RectangularAperture.$(ObjSuf) \
    372         tmp/Utilities/Hector/src/H_RectangularCollimator.$(ObjSuf) \
    373         tmp/Utilities/Hector/src/H_RectangularDipole.$(ObjSuf) \
    374         tmp/Utilities/Hector/src/H_RomanPot.$(ObjSuf) \
    375         tmp/Utilities/Hector/src/H_SectorDipole.$(ObjSuf) \
    376         tmp/Utilities/Hector/src/H_TransportMatrices.$(ObjSuf) \
    377         tmp/Utilities/Hector/src/H_VerticalKicker.$(ObjSuf) \
    378         tmp/Utilities/Hector/src/H_VerticalQuadrupole.$(ObjSuf) \
     383        tmp/Utilities/Fastjet/src/ClosestPair2D.$(ObjSuf) \
     384        tmp/Utilities/Fastjet/src/Dnn2piCylinder.$(ObjSuf) \
     385        tmp/Utilities/Fastjet/src/ClusterSequenceActiveArea.$(ObjSuf) \
     386        tmp/Utilities/Fastjet/src/ClusterSequence_TiledN2.$(ObjSuf) \
     387        tmp/Utilities/Fastjet/src/ClusterSequence_CP2DChan.$(ObjSuf) \
     388        tmp/Utilities/Fastjet/src/ClusterSequence_N2.$(ObjSuf) \
     389        tmp/Utilities/Fastjet/src/ClusterSequencePassiveArea.$(ObjSuf) \
     390        tmp/Utilities/Fastjet/src/GhostedAreaSpec.$(ObjSuf) \
     391        tmp/Utilities/Fastjet/src/ClusterSequence.$(ObjSuf) \
     392        tmp/Utilities/Fastjet/src/RangeDefinition.$(ObjSuf) \
     393        tmp/Utilities/Fastjet/src/BasicRandom.$(ObjSuf) \
     394        tmp/Utilities/Fastjet/src/ClusterSequenceArea.$(ObjSuf) \
     395        tmp/Utilities/Fastjet/src/ClusterSequenceActiveAreaExplicitGhosts.$(ObjSuf) \
     396        tmp/Utilities/Fastjet/src/PseudoJet.$(ObjSuf) \
    379397        tmp/Utilities/Fastjet/src/AreaDefinition.$(ObjSuf) \
    380         tmp/Utilities/Fastjet/src/BasicRandom.$(ObjSuf) \
    381         tmp/Utilities/Fastjet/src/ClosestPair2D.$(ObjSuf) \
    382         tmp/Utilities/Fastjet/src/ClusterSequence.$(ObjSuf) \
     398        tmp/Utilities/Fastjet/src/ClusterSequence_DumbN3.$(ObjSuf) \
     399        tmp/Utilities/Fastjet/src/ClusterSequenceVoronoiArea.$(ObjSuf) \
     400        tmp/Utilities/Fastjet/src/Dnn3piCylinder.$(ObjSuf) \
     401        tmp/Utilities/Fastjet/src/Error.$(ObjSuf) \
     402        tmp/Utilities/Fastjet/src/ClusterSequenceAreaBase.$(ObjSuf) \
     403        tmp/Utilities/Fastjet/src/Dnn4piCylinder.$(ObjSuf) \
    383404        tmp/Utilities/Fastjet/src/ClusterSequence1GhostPassiveArea.$(ObjSuf) \
    384         tmp/Utilities/Fastjet/src/ClusterSequenceActiveArea.$(ObjSuf) \
    385         tmp/Utilities/Fastjet/src/ClusterSequenceActiveAreaExplicitGhosts.$(ObjSuf) \
    386         tmp/Utilities/Fastjet/src/ClusterSequenceArea.$(ObjSuf) \
    387         tmp/Utilities/Fastjet/src/ClusterSequenceAreaBase.$(ObjSuf) \
    388         tmp/Utilities/Fastjet/src/ClusterSequencePassiveArea.$(ObjSuf) \
    389         tmp/Utilities/Fastjet/src/ClusterSequenceVoronoiArea.$(ObjSuf) \
    390         tmp/Utilities/Fastjet/src/ClusterSequence_CP2DChan.$(ObjSuf) \
     405        tmp/Utilities/Fastjet/src/JetDefinition.$(ObjSuf) \
     406        tmp/Utilities/Fastjet/src/DnnPlane.$(ObjSuf) \
    391407        tmp/Utilities/Fastjet/src/ClusterSequence_Delaunay.$(ObjSuf) \
    392         tmp/Utilities/Fastjet/src/ClusterSequence_DumbN3.$(ObjSuf) \
    393         tmp/Utilities/Fastjet/src/ClusterSequence_N2.$(ObjSuf) \
    394         tmp/Utilities/Fastjet/src/ClusterSequence_TiledN2.$(ObjSuf) \
    395         tmp/Utilities/Fastjet/src/Dnn2piCylinder.$(ObjSuf) \
    396         tmp/Utilities/Fastjet/src/Dnn3piCylinder.$(ObjSuf) \
    397         tmp/Utilities/Fastjet/src/Dnn4piCylinder.$(ObjSuf) \
    398         tmp/Utilities/Fastjet/src/DnnPlane.$(ObjSuf) \
    399         tmp/Utilities/Fastjet/src/Error.$(ObjSuf) \
    400         tmp/Utilities/Fastjet/src/GhostedAreaSpec.$(ObjSuf) \
    401         tmp/Utilities/Fastjet/src/JetDefinition.$(ObjSuf) \
    402408        tmp/Utilities/Fastjet/src/MinHeap.$(ObjSuf) \
    403         tmp/Utilities/Fastjet/src/PseudoJet.$(ObjSuf) \
    404         tmp/Utilities/Fastjet/src/RangeDefinition.$(ObjSuf) \
    405409        tmp/Utilities/Fastjet/src/Voronoi.$(ObjSuf) \
    406410        tmp/Utilities/Fastjet/plugins/CDFCones/CDFJetCluPlugin.$(ObjSuf) \
    407411        tmp/Utilities/Fastjet/plugins/CDFCones/CDFMidPointPlugin.$(ObjSuf) \
     412        tmp/Utilities/Fastjet/plugins/CDFCones/src/Cluster.$(ObjSuf) \
     413        tmp/Utilities/Fastjet/plugins/CDFCones/src/JetCluAlgorithm.$(ObjSuf) \
     414        tmp/Utilities/Fastjet/plugins/CDFCones/src/ClusterComparisons.$(ObjSuf) \
     415        tmp/Utilities/Fastjet/plugins/CDFCones/src/PhysicsTower.$(ObjSuf) \
    408416        tmp/Utilities/Fastjet/plugins/CDFCones/src/CalTower.$(ObjSuf) \
     417        tmp/Utilities/Fastjet/plugins/CDFCones/src/LorentzVector.$(ObjSuf) \
    409418        tmp/Utilities/Fastjet/plugins/CDFCones/src/Centroid.$(ObjSuf) \
    410         tmp/Utilities/Fastjet/plugins/CDFCones/src/Cluster.$(ObjSuf) \
    411         tmp/Utilities/Fastjet/plugins/CDFCones/src/ClusterComparisons.$(ObjSuf) \
    412         tmp/Utilities/Fastjet/plugins/CDFCones/src/JetCluAlgorithm.$(ObjSuf) \
    413         tmp/Utilities/Fastjet/plugins/CDFCones/src/LorentzVector.$(ObjSuf) \
    414419        tmp/Utilities/Fastjet/plugins/CDFCones/src/MidPointAlgorithm.$(ObjSuf) \
    415         tmp/Utilities/Fastjet/plugins/CDFCones/src/PhysicsTower.$(ObjSuf) \
    416420        tmp/Utilities/Fastjet/plugins/SISCone/SISConePlugin.$(ObjSuf) \
     421        tmp/Utilities/Fastjet/plugins/SISCone/src/ranlux.$(ObjSuf) \
     422        tmp/Utilities/Fastjet/plugins/SISCone/src/protocones.$(ObjSuf) \
     423        tmp/Utilities/Fastjet/plugins/SISCone/src/vicinity.$(ObjSuf) \
     424        tmp/Utilities/Fastjet/plugins/SISCone/src/siscone_error.$(ObjSuf) \
     425        tmp/Utilities/Fastjet/plugins/SISCone/src/siscone.$(ObjSuf) \
     426        tmp/Utilities/Fastjet/plugins/SISCone/src/area.$(ObjSuf) \
     427        tmp/Utilities/Fastjet/plugins/SISCone/src/hash.$(ObjSuf) \
     428        tmp/Utilities/Fastjet/plugins/SISCone/src/reference.$(ObjSuf) \
     429        tmp/Utilities/Fastjet/plugins/SISCone/src/momentum.$(ObjSuf) \
    417430        tmp/Utilities/Fastjet/plugins/SISCone/src/geom_2d.$(ObjSuf) \
    418         tmp/Utilities/Fastjet/plugins/SISCone/src/area.$(ObjSuf) \
    419         tmp/Utilities/Fastjet/plugins/SISCone/src/momentum.$(ObjSuf) \
    420         tmp/Utilities/Fastjet/plugins/SISCone/src/hash.$(ObjSuf) \
    421         tmp/Utilities/Fastjet/plugins/SISCone/src/protocones.$(ObjSuf) \
     431        tmp/Utilities/Fastjet/plugins/SISCone/src/split_merge.$(ObjSuf) \
    422432        tmp/Utilities/Fastjet/plugins/SISCone/src/quadtree.$(ObjSuf) \
    423         tmp/Utilities/Fastjet/plugins/SISCone/src/ranlux.$(ObjSuf) \
    424         tmp/Utilities/Fastjet/plugins/SISCone/src/reference.$(ObjSuf) \
    425         tmp/Utilities/Fastjet/plugins/SISCone/src/siscone.$(ObjSuf) \
    426         tmp/Utilities/Fastjet/plugins/SISCone/src/siscone_error.$(ObjSuf) \
    427         tmp/Utilities/Fastjet/plugins/SISCone/src/split_merge.$(ObjSuf) \
    428         tmp/Utilities/Fastjet/plugins/SISCone/src/vicinity.$(ObjSuf) \
    429433        tmp/Examples/src/Analysis_Ex.$(ObjSuf)
    430434
     435tmp/Utilities/mcfio/mcfio_Direct.$(ObjSuf): \
     436        Utilities/mcfio/mcfio_Direct.c
     437tmp/Utilities/mcfio/mcfio_Block.$(ObjSuf): \
     438        Utilities/mcfio/mcfio_Block.c
     439tmp/Utilities/mcfio/mcf_evt_xdr.$(ObjSuf): \
     440        Utilities/mcfio/mcf_evt_xdr.c
     441tmp/Utilities/mcfio/mcf_NTuIOUtils.$(ObjSuf): \
     442        Utilities/mcfio/mcf_NTuIOUtils.c
    431443tmp/Utilities/mcfio/mcf_NTuIOFiles.$(ObjSuf): \
    432444        Utilities/mcfio/mcf_NTuIOFiles.c
    433 tmp/Utilities/mcfio/mcf_NTuIOUtils.$(ObjSuf): \
    434         Utilities/mcfio/mcf_NTuIOUtils.c
    435 tmp/Utilities/mcfio/mcf_evt_xdr.$(ObjSuf): \
    436         Utilities/mcfio/mcf_evt_xdr.c
     445tmp/Utilities/mcfio/mcfio_Util1.$(ObjSuf): \
     446        Utilities/mcfio/mcfio_Util1.c
     447tmp/Utilities/mcfio/mcf_ntubldInit.$(ObjSuf): \
     448        Utilities/mcfio/mcf_ntubldInit.c
     449tmp/Utilities/mcfio/mcfio_UserDictionary.$(ObjSuf): \
     450        Utilities/mcfio/mcfio_UserDictionary.c
    437451tmp/Utilities/mcfio/mcf_ntuBldDbinc.$(ObjSuf): \
    438452        Utilities/mcfio/mcf_ntuBldDbinc.c
    439 tmp/Utilities/mcfio/mcf_ntubldInit.$(ObjSuf): \
    440         Utilities/mcfio/mcf_ntubldInit.c
    441 tmp/Utilities/mcfio/mcfio_Block.$(ObjSuf): \
    442         Utilities/mcfio/mcfio_Block.c
    443 tmp/Utilities/mcfio/mcfio_Direct.$(ObjSuf): \
    444         Utilities/mcfio/mcfio_Direct.c
    445453tmp/Utilities/mcfio/mcfio_SeqDummy.$(ObjSuf): \
    446454        Utilities/mcfio/mcfio_SeqDummy.c
    447 tmp/Utilities/mcfio/mcfio_UserDictionary.$(ObjSuf): \
    448         Utilities/mcfio/mcfio_UserDictionary.c
    449 tmp/Utilities/mcfio/mcfio_Util1.$(ObjSuf): \
    450         Utilities/mcfio/mcfio_Util1.c
    451 tmp/Utilities/stdhep/mcf_Stdhep_xdr.$(ObjSuf): \
    452         Utilities/stdhep/mcf_Stdhep_xdr.c \
     455tmp/Utilities/stdhep/mcf_hepup_xdr.$(ObjSuf): \
     456        Utilities/stdhep/mcf_hepup_xdr.c \
    453457        Utilities/mcfio/mcfio_Dict.h \
    454458        Utilities/mcfio/mcf_xdr.h \
    455         Utilities/stdhep/stdhep.h \
    456         Utilities/stdhep/stdtmp.h \
     459        Utilities/stdhep/hepeup.h \
     460        Utilities/stdhep/heprup.h \
    457461        Utilities/stdhep/stdver.h
    458462tmp/Utilities/stdhep/mcf_hepev4_xdr.$(ObjSuf): \
     
    463467        Utilities/stdhep/hepev4.h \
    464468        Utilities/stdhep/stdtmp.h \
    465         Utilities/stdhep/stdver.h
    466 tmp/Utilities/stdhep/mcf_hepup_xdr.$(ObjSuf): \
    467         Utilities/stdhep/mcf_hepup_xdr.c \
    468         Utilities/mcfio/mcfio_Dict.h \
    469         Utilities/mcfio/mcf_xdr.h \
    470         Utilities/stdhep/hepeup.h \
    471         Utilities/stdhep/heprup.h \
    472469        Utilities/stdhep/stdver.h
    473470tmp/Utilities/stdhep/mcf_stdcm1_xdr.$(ObjSuf): \
     
    498495        Utilities/stdhep/stdcnt.h \
    499496        Utilities/stdhep/stdhep_mcfio.h
     497tmp/Utilities/stdhep/mcf_Stdhep_xdr.$(ObjSuf): \
     498        Utilities/stdhep/mcf_Stdhep_xdr.c \
     499        Utilities/mcfio/mcfio_Dict.h \
     500        Utilities/mcfio/mcf_xdr.h \
     501        Utilities/stdhep/stdhep.h \
     502        Utilities/stdhep/stdtmp.h \
     503        Utilities/stdhep/stdver.h
    500504STDHEP_OBJ =  \
     505        tmp/Utilities/mcfio/mcfio_Direct.$(ObjSuf) \
     506        tmp/Utilities/mcfio/mcfio_Block.$(ObjSuf) \
     507        tmp/Utilities/mcfio/mcf_evt_xdr.$(ObjSuf) \
     508        tmp/Utilities/mcfio/mcf_NTuIOUtils.$(ObjSuf) \
    501509        tmp/Utilities/mcfio/mcf_NTuIOFiles.$(ObjSuf) \
    502         tmp/Utilities/mcfio/mcf_NTuIOUtils.$(ObjSuf) \
    503         tmp/Utilities/mcfio/mcf_evt_xdr.$(ObjSuf) \
     510        tmp/Utilities/mcfio/mcfio_Util1.$(ObjSuf) \
     511        tmp/Utilities/mcfio/mcf_ntubldInit.$(ObjSuf) \
     512        tmp/Utilities/mcfio/mcfio_UserDictionary.$(ObjSuf) \
    504513        tmp/Utilities/mcfio/mcf_ntuBldDbinc.$(ObjSuf) \
    505         tmp/Utilities/mcfio/mcf_ntubldInit.$(ObjSuf) \
    506         tmp/Utilities/mcfio/mcfio_Block.$(ObjSuf) \
    507         tmp/Utilities/mcfio/mcfio_Direct.$(ObjSuf) \
    508514        tmp/Utilities/mcfio/mcfio_SeqDummy.$(ObjSuf) \
    509         tmp/Utilities/mcfio/mcfio_UserDictionary.$(ObjSuf) \
    510         tmp/Utilities/mcfio/mcfio_Util1.$(ObjSuf) \
    511         tmp/Utilities/stdhep/mcf_Stdhep_xdr.$(ObjSuf) \
     515        tmp/Utilities/stdhep/mcf_hepup_xdr.$(ObjSuf) \
    512516        tmp/Utilities/stdhep/mcf_hepev4_xdr.$(ObjSuf) \
    513         tmp/Utilities/stdhep/mcf_hepup_xdr.$(ObjSuf) \
    514517        tmp/Utilities/stdhep/mcf_stdcm1_xdr.$(ObjSuf) \
    515518        tmp/Utilities/stdhep/stdhep_internal_utils.$(ObjSuf) \
    516         tmp/Utilities/stdhep/stdhep_mcfio.$(ObjSuf)
    517 
    518 interface/DataConverter.h: \
    519         Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
    520         Utilities/ExRootAnalysis/interface/LHEF.h
    521         @touch $@
     519        tmp/Utilities/stdhep/stdhep_mcfio.$(ObjSuf) \
     520        tmp/Utilities/stdhep/mcf_Stdhep_xdr.$(ObjSuf)
    522521
    523522interface/TriggerUtil.h: \
     
    525524        Utilities/ExRootAnalysis/interface/TSimpleArray.h \
    526525        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h
     526        @touch $@
     527
     528interface/DataConverter.h: \
     529        Utilities/ExRootAnalysis/interface/ExRootTreeBranch.h \
     530        Utilities/ExRootAnalysis/interface/LHEF.h
    527531        @touch $@
    528532
  • trunk/Resolutions.cpp

    r89 r94  
    236236         
    237237          //input generator level particle for jet algorithm     
    238           if(particle->Status == 1 && eta < DET->MAX_CALO_FWD)
     238          if(particle->Status == 1 && eta < DET->CEN_max_calo_fwd)
    239239            {
    240240              input_particlesGEN.push_back(fastjet::PseudoJet(genMomentum.Px(),genMomentum.Py(),genMomentum.Pz(), genMomentum.E()));
     
    246246          if( (particle->Status == 1)    &&
    247247              ((pid != pNU1) && (pid != pNU2) && (pid != pNU3)) &&
    248               (fabs(particle->Eta) < DET->MAX_CALO_FWD)
     248              (fabs(particle->Eta) < DET->CEN_max_calo_fwd)
    249249              )
    250250            {
     
    260260              case pE: // all electrons with eta < DET->MAX_CALO_FWD
    261261                DET->SmearElectron(recoMomentum);
    262                 if(recoMomentum.E() !=0 && eta < DET->MAX_TRACKER){
     262                if(recoMomentum.E() !=0 && eta < DET->CEN_max_tracker){
    263263                  elementElec=(RESOLELEC*) branchelec->NewEntry();
    264264                  elementElec->E = genMomentum.E();
     
    287287              int charge=Charge(pid);
    288288              if(recoMomentum.E() !=0 && pid != pMU) {
    289                 if(charge == 0 || (charge !=0 && recoMomentum.Pt() >= DET->PT_TRACKS_MIN)){
     289                if(charge == 0 || (charge !=0 && recoMomentum.Pt() >= DET->TRACK_ptmin)){
    290290                  towers.push_back(PhysicsTower(LorentzVector(recoMomentum.Px(),recoMomentum.Py(),recoMomentum.Pz(), recoMomentum.E())));
    291291                  input_particlesReco.push_back(fastjet::PseudoJet(recoMomentum.Px(),recoMomentum.Py(),recoMomentum.Pz(), recoMomentum.E()));
     
    296296              if(
    297297                 (genMomentum.E()!=0) &&
    298                  (fabs(genMomentum.Eta()) < DET->MAX_TRACKER) &&
    299                  (genMomentum.Pt() > DET->PT_TRACKS_MIN ) &&     // pt too small to be taken into account
    300                  ((rand()%100) < DET->TRACKING_EFF)  &&
     298                 (fabs(genMomentum.Eta()) < DET->CEN_max_tracker) &&
     299                 (genMomentum.Pt() > DET->TRACK_ptmin ) &&     // pt too small to be taken into account
     300                 ((rand()%100) < DET->TRACK_eff)  &&
    301301                 (charge!=0)
    302302                 )
     
    346346        TLorentzVector JETT(0,0,0,0);
    347347        JETT.SetPxPyPzE(sorted_jetsReco[i].px(),sorted_jetsReco[i].py(),sorted_jetsReco[i].pz(),sorted_jetsReco[i].E());
    348         if(fabs(JETT.Eta()) < (DET->MAX_TRACKER - DET->TAU_CONE_TRACKS))
     348        if(fabs(JETT.Eta()) < (DET->CEN_max_tracker - DET->TAU_track_scone))
    349349           {
    350350            for(Int_t i=0; i<TausHadr.GetEntries();i++)
     
    354354                    elementTaujet= (TAUHAD*) branchtaujet->NewEntry();
    355355                    elementTaujet->EnergieCen = (DET->EnergySmallCone(towers,JETT.Eta(),JETT.Phi())/JETT.E());
    356                     elementTaujet->NumTrack = DET->NumTracks(TrackCentral,DET->PT_TRACK_TAU,JETT.Eta(),JETT.Phi());
     356                    elementTaujet->NumTrack = DET->NumTracks(TrackCentral,DET->TAU_track_pt,JETT.Eta(),JETT.Phi());
    357357                 }
    358358              }
  • trunk/VERSION

    r57 r94  
    1 2.0
     11.0
  • trunk/data/DataCardDet.dat

    r72 r94  
    1 #Detector characteristics
    2 MAX_TRACKER      2.5         
    3 MAX_CALO_CEN     3.0
    4 MAX_CALO_FWD     5.0                    // forward calorimeter pseudorapidity coverage
    5 MAX_MU           2.4                    // muon chambers pseudorapidity coverage
    6 MIN_CALO_VFWD    5.2                    // very forward calorimeter (if any) like CASTOR
    7 MAX_CALO_VFWD    6.6
    8 MIN_ZDC          8.3
    9 ZDC_S            140                    // distance of the ZDC to the IP in meters
    10 RP220_S          220                    // distance of the RP to the IP in meters
    11 RP220_X          0.002                  // distance of the RP to the beam in meters
    12 FP420_S          420                    // distance of the RP to the IP in meters
    13 FP420_X          0.004                  // distance of the RP to the beam in meters
     1# Detector characteristics
     2CEN_max_tracker    4                // Maximum tracker coverage         
     3CEN_max_calo_cen   2.0                // central calorimeter coverage
     4CEN_max_calo_fwd   5.0                // forward calorimeter pseudorapidity coverage
     5CEN_max_mu         2.4                // muon chambers pseudorapidity coverage
     6 
     7# Energy resolution for electron/photon
     8# \sigma/E = C + N/E + S/\sqrt{E}
     9ELG_Scen          0.05              // S term for central ECAL
     10ELG_Ncen          0.25              // N term for central ECAL
     11ELG_Ccen          0.005              // C term for central ECAL
     12ELG_Cfwd          0.107             // S term for forward ECAL
     13ELG_Sfwd          2.084             // C term for forward ECAL
     14ELG_Nfwd          0.0               // N term for central ECAL
    1415
    15 #Magnetic Field
    16 TRACKING_RADIUS   129                   //radius of the BField coverage
    17 TRACKING_LENGTH   300                   //length of the BField coverage
    18 BFIELD_X          0
    19 BFIELD_Y          0
    20 BFIELD_Z         3.8
     16# Energy resolution for hadrons in ecal/hcal/hf
     17# \sigma/E = C + N/E + S/\sqrt{E}
     18HAD_Shcal         1.5               // S term for central HCAL // hadronic calorimeter
     19HAD_Nhcal         0.                // N term for central HCAL
     20HAD_Chcal         0.05              // C term for central HCAL
     21HAD_Shf           2.7               // S term for HF // forward calorimeter
     22HAD_Nhf           0.                // N term for HF
     23HAD_Chf           0.13              // C term for HF
    2124
     25# Muon smearing
     26MU_SmearPt        0.01
    2227
    23 #energy resolution for electron/photon
    24 # \sigma/E = C + N/E + S/\sqrt{E}
    25 ELG_Scen         0.05                   // S term for central ECAL
    26 ELG_Ncen         0.25                   // N term for central ECAL
    27 ELG_Ccen         0.0055                 // C term for central ECAL
    28 ELG_Cfwd         0.107                  // S term for forward ECAL
    29 ELG_Sfwd         2.084                  // C term for forward ECAL
    30 ELG_Nfwd         0.0                    // N term for central ECAL
     28# Tracking efficiencies
     29TRACK_ptmin       0.9               // minimal pt needed to reach the calorimeter in GeV
     30TRACK_eff         100               // efficiency associated to the tracking
    3131
    32 #energy resolution for hadrons in ecal/hcal/hf
    33 # \sigma/E = C + N/E + S/\sqrt{E}
    34 HAD_Shcal        1.5                      // S term for central HCAL // hadronic calorimeter
    35 HAD_Nhcal        0.                       // N term for central HCAL
    36 HAD_Chcal        0.05                     // C term for central HCAL
    37 HAD_Shf          2.7                      // S term for HF // forward calorimeter
    38 HAD_Nhf          0.                       // N term for HF
    39 HAD_Chf          0.13                     // C term for HF
     32# Calorimetric towers
     33TOWER_number         40
     34TOWER_eta_edges 0. 0.087 0.174 0.261 0.348 0.435 0.522 0.609 0.696 0.783 0.870 0.957 1.044 1.131 1.218 1.305 1.392 1.479 1.566 1.653 1.740 1.830 1.930 2.043 2.172 2.322 2.500 2.650 2.868 2.950 3.125 3.300 3.475 3.650 3.825 4.000 4.175 4.350 4.525 4.700 5.000
     35## list of the edges of each tower in eta for eta>0 assuming a symmetric detector in eta<0
     36### the list starts with the lower edge of the most central tower
     37### the list ends with the higher edged of the most forward tower
     38### there should be NTOWER+1 values
     39#TOWER_dphi 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20
     40### list of the tower size in phi (in degrees), assuming that all towers are similar in phi for a given eta value
     41### the list starts with the phi-size of the most central tower (eta=0)
     42### the list ends with the phi-size of the most forward tower
     43### there should be NTOWER values
     44##
     45#
    4046
    41 # muon smearing
    42 MU_SmearPt       0.01
     47# Thresholds for reconstructed objetcs
     48PTCUT_elec       10.0
     49PTCUT_muon       10.0
     50PTCUT_jet        20.0
     51PTCUT_gamma      10.0
     52PTCUT_taujet     10.0
    4353
    44 #thresholds for reconstructed objects
    45 ELEC_pt          10
    46 MUON_pt          10
    47 JET_pt           20
    48 TAUJET_pt        10
     54# General jet variable
     55JET_coneradius   0.7            // generic jet radius ; not for tau's !!!
     56JET_jetalgo      1              // 1 for Cone algorithm, 2 for MidPoint algorithm, 3 for SIScone algorithm, 4 for kt algorithm
     57JET_seed         1.0            // minimum seed to start jet reconstruction
    4958
    50 #For Tau-jet definition
    51 TAU_CONE_ENERGIE 0.15                    // Delta R = radius of the cone
    52 TAU_CONE_TRACKS  0.4                     //Delta R
    53 PT_TRACK_TAU     2.0                     // GeV
     59# Tagging definition
     60BTAG_b           40
     61BTAG_mistag_c    10
     62BTAG_mistag_l    1
    5463
    55 #Tracker acceptance
    56 PT_TRACKS_MIN    0.9                     // minimal pt needed to reach the calorimeter in GeV
    57 TRACKING_EFF     100                     // efficiency associated to the tracking
     64# FLAGS
     65FLAG_bfield      1                       //1 to run the bfield propagation else 0
     66FLAG_vfd         1                       //1 to run the very forward detectors else 0
     67FLAG_trigger     1                       //1 to run the trigger selection else 0
     68FLAG_frog        1                       //1 to run the FROG event display
    5869
    59 #tagging definition
    60 TAGGING_B        40
    61 MISTAGGING_C     10
    62 MISTAGGING_L     1
     70# In case BField propagation allowed
     71TRACK_radius      129                   //radius of the BField coverage
     72TRACK_length      300                   //length of the BField coverage
     73TRACK_bfield_x    0                     //X composant of the BField
     74TRACK_bfield_y    0                     //Y composant of the BField
     75TRACK_bfield_z    3.8                   //Z composant of the BField
    6376
    64 #Trigger flag
    65 DOTRIGGER        1                       //1 to run the trigger else 0
     77# In case Very forward detectors allowed
     78VFD_min_calo_vfd  5.2                   // very forward calorimeter (if any) like CASTOR
     79VFD_max_calo_vfd  6.6
     80VFD_min_zdc       8.3
     81VFD_s_zdc         140                   // distance of the Zero Degree Calorimeter, from the Interaction poin, in [m]
    6682
    67 #DeltaR cone definition
    68 CONERADIUS      0.7
    69 JETALGO           1               // 1 for Cone algorithm 2 for MidPoint algorithm 3 for SIScone algorithm 4 for kt algorithm
     83RP_220_s          220                   // distance of the RP to the IP, in meters
     84RP_220_x          0.002                 // distance of the RP to the beam, in meters
     85RP_420_s          420                   // distance of the RP to the IP, in meters
     86RP_420_x          0.004                 // distance of the RP to the beam, in meters
    7087
    71 #Calorimetric towers
    72 NTOWERS         40
    73 TOWER_ETA_EDGES 0. 0.087 0.174 0.261 0.348 0.435 0.522 0.609 0.696 0.783 0.870 0.957 1.044 1.131 1.218 1.305 1.392 1.479 1.566 1.653 1.740 1.830 1.930 2.043 2.172 2.322 2.500 2.650 2.868 2.950 3.125 3.300 3.475 3.650 3.825 4.000 4.175 4.350 4.525 4.700 5.000
    74 # list of the edges of each tower in eta for eta>0 assuming a symmetric detector in eta<0
    75 # the list starts with the lower edge of the most central tower
    76 # the list ends with the higher edged of the most forward tower
    77 # there should be NTOWER+1 values
    78 TOWER_DPHI 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20
    79 # list of the tower size in phi (in degrees), assuming that all towers are similar in phi for a given eta value
    80 # the list starts with the phi-size of the most central tower (eta=0)
    81 # the list ends with the phi-size of the most forward tower
    82 # there should be NTOWER values
     88# In case FROG event display allowed
     89NEvents_Frog      2
     90
  • trunk/interface/SmearUtil.h

    r74 r94  
    6161 
    6262  // Detector coverage
    63   float MAX_TRACKER;    // tracker pseudorapidity coverage
    64   float MAX_CALO_CEN;   // central calorimeter pseudorapidity coverage
    65   float MAX_CALO_FWD;   // forward calorimeter pseudorapidity coverage
    66   float MAX_MU;         // muon chambers pseudorapidity coverage
    67   float MIN_CALO_VFWD;  // very forward calorimeter pseudorapidity coverage
    68   float MAX_CALO_VFWD;  // very forward calorimeter pseudorapidity coverage
    69   float MIN_ZDC;        // coverage for Zero Degree Calorimeter, for photons and neutrons
    70 
    71   float ZDC_S;   // distance of the Zero Degree Calorimeter, from the Interaction poin, in [m]
    72   float RP220_S; // distance of the RP to the IP, in meters
    73   float RP220_X; // distance of the RP to the beam, in meters
    74   float FP420_S; // distance of the RP to the IP, in meters
    75   float FP420_X; // distance of the RP to the beam, in meters
    76 
    77   //Magnetic Field information
    78   int TRACKING_RADIUS;                      //radius of the BField coverage
    79   int TRACKING_LENGTH;                      //length of the BField coverage
    80   float BFIELD_X;         
    81   float BFIELD_Y;         
    82   float BFIELD_Z;         
    83 
    84  
     63  float CEN_max_tracker;    // tracker pseudorapidity coverage
     64  float CEN_max_calo_cen;   // central calorimeter pseudorapidity coverage
     65  float CEN_max_calo_fwd;   // forward calorimeter pseudorapidity coverage
     66  float CEN_max_mu;         // muon chambers pseudorapidity coverage
     67
     68  float VFD_min_calo_vfd;  // very forward calorimeter pseudorapidity coverage
     69  float VFD_max_calo_vfd;  // very forward calorimeter pseudorapidity coverage
     70  float VFD_min_zdc;        // coverage for Zero Degree Calorimeter, for photons and neutrons
     71  float VFD_s_zdc;   // distance of the Zero Degree Calorimeter, from the Interaction poin, in [m]
     72
     73  float RP_220_s; // distance of the RP to the IP, in meters
     74  float RP_220_x; // distance of the RP to the beam, in meters
     75  float RP_420_s; // distance of the RP to the IP, in meters
     76  float RP_420_x; // distance of the RP to the beam, in meters
     77
     78
    8579  //energy resolution for electron/photon
    8680  // \sigma/E = C + N/E + S/\sqrt{E}
     
    10397  // muon smearing
    10498  float MU_SmearPt;
    105  
    106   //threshold for reconstructed objetcs
    107   float ELEC_pt;
    108   float MUON_pt;
    109   float JET_pt;
    110   float GAMMA_pt;
    111   float TAUJET_pt;
    112  
    113   //For Tau-jet definition
    114   // R = sqrt (phi^2 + eta^2)
    115   float TAU_CONE_ENERGY;  // radius R of the cone for tau definition, based on energy threshold
    116   float TAU_CONE_TRACKS;  // radius R of the cone for tau definition, based on track number
    117   float PT_TRACK_TAU;     // minimal pt [GeV] for tracks to be considered in tau definition
    118   float TAU_EM_COLLIMATION; // fraction of energy required in the central part of the cone, for tau jets
    119  
    120   // Tracker acceptance
    121   float PT_TRACKS_MIN;    // minimal pt needed to reach the calorimeter, in GeV
     99 
     100  //Magnetic Field information
     101  int   TRACK_radius;                      //radius of the BField coverage
     102  int   TRACK_length;                      //length of the BField coverage
     103  float TRACK_bfield_x;
     104  float TRACK_bfield_y;
     105  float TRACK_bfield_z;
     106  float TRACK_ptmin;    // minimal pt needed to reach the calorimeter, in GeV
     107  int   TRACK_eff;       // in percent, should be an integer
     108 
     109
     110  //Define Calorimetric towers
     111  unsigned int TOWER_number;
     112  float *      TOWER_eta_edges;
     113  float *      TOWER_dphi;
     114
     115  //thresholds for reconstructed objetcs
     116  float PTCUT_elec;
     117  float PTCUT_muon;
     118  float PTCUT_jet;
     119  float PTCUT_gamma;
     120  float PTCUT_taujet;
     121 
     122  //General jet variable
     123  double JET_coneradius;
     124  int    JET_jetalgo;
     125  double JET_seed;
     126  double JET_overlap;
     127 
     128  // MidPoint algorithm definition
     129  double JET_M_coneareafraction;
     130  int    JET_M_maxpairsize;
     131  int    JET_M_maxiterations;
     132  // Define Cone algorithm.
     133  int    JET_C_adjacencycut;
     134  int    JET_C_maxiterations;
     135  int    JET_C_iratch;
     136  //Define SISCone algorithm.
     137  int    JET_S_npass;
     138  double JET_S_protojet_ptmin;
     139 
     140 //For Tau-jet definition
     141 // R = sqrt (phi^2 + eta^2)
     142 float TAU_energy_scone;  // radius R of the cone for tau definition, based on energy threshold
     143 float TAU_track_scone;  // radius R of the cone for tau definition, based on track number
     144 float TAU_track_pt;     // minimal pt [GeV] for tracks to be considered in tau definition
     145 float TAU_energy_frac;      // fraction of energy required in the central part of the cone, for tau jets
     146 
     147 //tagging definition
     148 int BTAG_b;         
     149 int BTAG_mistag_c;
     150 int BTAG_mistag_l;
     151 
     152
     153 //trigger flag
     154 int FLAG_trigger;             //flag for trigger
     155 int FLAG_frog;                //flag for frog display
     156 int FLAG_bfield;               //flag for bfield propagation
     157 int FLAG_vfd;                  //flag for very forward detector
     158 
     159 int NEvents_Frog;
     160
     161
     162
     163
     164
    122165  float PT_QUARKS_MIN;    // minimal pt needed for quarks to reach the tracker, in GeV
    123   int TRACKING_EFF;       // in percent, should be an integer
    124  
    125   //tagging definition
    126   int TAGGING_B;         //
    127   int MISTAGGING_C;
    128   int MISTAGGING_L;
    129  
    130   //trigger flag
    131   int DOTRIGGER;
    132 
    133   double CONERADIUS;
    134   int JETALGO;
    135 
    136   //General jet variable
    137   double SEEDTHRESHOLD;   
    138   double OVERLAPTHRESHOLD;
    139 
    140   // MidPoint algorithm definition
    141   double M_CONEAREAFRACTION;
    142   int    M_MAXPAIRSIZE;     
    143   int    M_MAXITERATIONS;   
    144  
    145   // Define Cone algorithm.
    146   int    C_ADJACENCYCUT;
    147   int    C_MAXITERATIONS;
    148   int    C_IRATCH;
    149 
    150   //Define SISCone algorithm.
    151   int NPASS;
    152   double PROTOJET_PTMIN;
    153 
    154   // Define Calorimetric towers
    155   unsigned int NTOWERS;
    156   float * TOWER_ETA_EDGES;
    157   float * TOWER_DPHI;
    158166
    159167  // to sort a vector
  • trunk/src/BFieldProp.cc

    r90 r94  
    4343 
    4444  //out of trackibg coverage?
    45   if(sqrt(Xvertex1*Xvertex1+Yvertex1*Yvertex1) > TRACKING_RADIUS){return;}
    46   if(fabs(Zvertex1) > TRACKING_LENGTH){return;}
     45  if(sqrt(Xvertex1*Xvertex1+Yvertex1*Yvertex1) > TRACK_radius){return;}
     46  if(fabs(Zvertex1) > TRACK_length){return;}
    4747 
    4848  float Px = Part->Px;
     
    6262     double vz = pz/M;
    6363
    64      double Bx = BFIELD_X;
    65      double By = BFIELD_Y;
    66      double Bz = BFIELD_Z;
     64     double Bx = TRACK_bfield_x;
     65     double By = TRACK_bfield_y;
     66     double Bz = TRACK_bfield_z;
    6767
    6868     double ax =  (q/M)*(Bz*vy - By*vz);
     
    9999        z  += vz*dt;
    100100
    101        if( (x*x+y*y) > TRACKING_RADIUS*TRACKING_RADIUS ){ x /= (x*x+y*y)/(TRACKING_RADIUS*TRACKING_RADIUS); y /= (x*x+y*y)/(TRACKING_RADIUS*TRACKING_RADIUS); break;}
    102        if( fabs(z)>TRACKING_LENGTH)break;
     101       if( (x*x+y*y) > TRACK_radius*TRACK_radius ){ x /= (x*x+y*y)/(TRACK_radius*TRACK_radius); y /= (x*x+y*y)/(TRACK_radius*TRACK_radius); break;}
     102       if( fabs(z)>TRACK_length)break;
    103103
    104104       xold = x;
  • trunk/src/JetUtils.cc

    r65 r94  
    1717JetsUtil::JetsUtil() {
    1818 
    19   switch(JETALGO) {
     19  switch(JET_jetalgo) {
    2020  default:
    2121  case 1: {
     
    2323    // set up a CDF midpoint jet definition
    2424#ifdef ENABLE_PLUGIN_CDFCONES
    25     plugins = new fastjet::CDFJetCluPlugin(SEEDTHRESHOLD,CONERADIUS,C_ADJACENCYCUT,C_MAXITERATIONS,C_IRATCH,OVERLAPTHRESHOLD);
     25    plugins = new fastjet::CDFJetCluPlugin(JET_seed,JET_coneradius,JET_C_adjacencycut,JET_C_maxiterations,JET_C_iratch,JET_overlap);
    2626    jet_def = fastjet::JetDefinition(plugins);
    2727#else
     
    3434    // set up a CDF midpoint jet definition
    3535#ifdef ENABLE_PLUGIN_CDFCONES
    36     plugins = new fastjet::CDFMidPointPlugin (SEEDTHRESHOLD,CONERADIUS,M_CONEAREAFRACTION,M_MAXPAIRSIZE,M_MAXITERATIONS,OVERLAPTHRESHOLD);
     36    plugins = new fastjet::CDFMidPointPlugin (JET_seed,JET_coneradius,JET_M_coneareafraction,JET_M_maxpairsize,JET_M_maxiterations,JET_overlap);
    3737    jet_def = fastjet::JetDefinition(plugins);
    3838#else
     
    4545    // set up a siscone jet definition
    4646#ifdef ENABLE_PLUGIN_SISCONE
    47     plugins = new fastjet::SISConePlugin (CONERADIUS,OVERLAPTHRESHOLD,NPASS, PROTOJET_PTMIN);
     47    plugins = new fastjet::SISConePlugin (JET_coneradius,JET_overlap,JET_S_npass, JET_S_protojet_ptmin);
    4848    jet_def = fastjet::JetDefinition(plugins);
    4949#else
     
    5454   
    5555  case 4: {
    56     jet_def = fastjet::JetDefinition(fastjet::kt_algorithm, CONERADIUS);
     56    jet_def = fastjet::JetDefinition(fastjet::kt_algorithm, JET_coneradius);
    5757  }
    5858    break;
    5959   
    6060  case 5: {
    61     jet_def = fastjet::JetDefinition(fastjet::cambridge_algorithm,CONERADIUS);
     61    jet_def = fastjet::JetDefinition(fastjet::cambridge_algorithm,JET_coneradius);
    6262  }
    6363    break;
    6464   
    6565  case 6: {
    66     jet_def = fastjet::JetDefinition(fastjet::antikt_algorithm,CONERADIUS);
     66    jet_def = fastjet::JetDefinition(fastjet::antikt_algorithm,JET_coneradius);
    6767  }
    6868    break;
     
    9696  for (unsigned int i = 0; i < sorted_jets.size(); i++) {
    9797    JET.SetPxPyPzE(sorted_jets[i].px(),sorted_jets[i].py(),sorted_jets[i].pz(),sorted_jets[i].E());
    98     if(JET.Pt() > JET_pt)
     98    if(JET.Pt() > PTCUT_jet)
    9999      {
    100100        elementJet = (TRootJet*) branchJet->NewEntry();
     
    102102        // b-jets
    103103        bool btag=false;
    104         if((fabs(JET.Eta()) < MAX_TRACKER && Btaggedjet(JET, NFCentralQ)))btag=true;
     104        if((fabs(JET.Eta()) < CEN_max_tracker && Btaggedjet(JET, NFCentralQ)))btag=true;
    105105        elementJet->Btag = btag;
    106106      }
     
    116116    JET.SetPxPyPzE(sorted_jets[i].px(),sorted_jets[i].py(),sorted_jets[i].pz(),sorted_jets[i].E());
    117117    // Tau jet identification : 1! track and electromagnetic collimation
    118     if(fabs(JET.Eta()) < (MAX_TRACKER - TAU_CONE_TRACKS)) {
     118    if(fabs(JET.Eta()) < (CEN_max_tracker - TAU_track_scone)) {
    119119      double Energie_tau_central = EnergySmallCone(towers,JET.Eta(),JET.Phi());
    120120      if(
    121          ( Energie_tau_central/JET.E() > TAU_EM_COLLIMATION ) &&
    122          ( NumTracks(TrackCentral,PT_TRACK_TAU,JET.Eta(),JET.Phi()) == 1 ) &&
    123          ( JET.Pt() > TAUJET_pt)
     121         ( Energie_tau_central/JET.E() > TAU_energy_frac ) &&
     122         ( NumTracks(TrackCentral,TAU_track_pt,JET.Eta(),JET.Phi()) == 1 ) &&
     123         ( JET.Pt() > PTCUT_taujet)
    124124         ) {
    125125        elementTauJet = (TRootTauJet*) branchTauJet->NewEntry();
  • trunk/src/SmearUtil.cc

    r82 r94  
    2929RESOLution::RESOLution() {
    3030
    31 MAX_TRACKER  =  2.5;  // tracker coverage
    32 MAX_CALO_CEN =  3.0;  // central calorimeter coverage
    33 MAX_CALO_FWD =  5.0;  // forward calorimeter pseudorapidity coverage
    34 MAX_MU       =  2.4;  // muon chambers pseudorapidity coverage
    35 MIN_CALO_VFWD=  5.2;  // very forward calorimeter (if any), like CASTOR
    36 MAX_CALO_VFWD=  6.6;  // very forward calorimeter (if any), like CASTOR
    37 MIN_ZDC      =  8.3;  // zero-degree calorimeter, coverage
    38 
    39 ZDC_S        =  140.; // ZDC  distance to IP
    40 RP220_S      =  220;  // distance of the RP to the IP, in meters
    41 RP220_X      =  0.002;// distance of the RP to the beam, in meters
    42 FP420_S      =  420;  // distance of the RP to the IP, in meters
    43 FP420_X      =  0.004;// distance of the RP to the beam, in meters
    44 
    45 TRACKING_RADIUS  = 129;                   //radius of the BField coverage
    46 TRACKING_LENGTH  = 300;                   //length of the BField coverage
    47 BFIELD_X         = 0.0;
    48 BFIELD_Y         = 0.0;
    49 BFIELD_Z         = 3.8;
    50 
    51 ELG_Scen =        0.05;                  // S term for central ECAL
    52 ELG_Ncen =        0.25 ;                 // N term for central ECAL
    53 ELG_Ccen =        0.0055 ;                // C term for central ECAL
    54 ELG_Cfwd =        0.107 ;                 // S term for forward ECAL
    55 ELG_Sfwd =        2.084 ;                 // C term for forward ECAL
    56 ELG_Nfwd =        0.0   ;                 // N term for central ECAL
    57 
    58 HAD_Shcal =       1.5 ;                    // S term for central HCAL // hadronic calorimeter
    59 HAD_Nhcal  =      0.0   ;                    // N term for central HCAL
    60 HAD_Chcal  =      0.05 ;                   // C term for central HCAL
    61 HAD_Shf  =        2.7  ;                    // S term for central HF // forward calorimeter
    62 HAD_Nhf  =        0.0   ;                    // N term for central HF
    63 HAD_Chf  =        0.13 ;                    // C term for central HF
    64 
    65 MU_SmearPt =      0.01 ;
    66 
    67 ELEC_pt =         10.0;
    68 MUON_pt =         10.0;
    69 JET_pt =          20.0;
    70 GAMMA_pt =        10.0;
    71 TAUJET_pt =       10.0;
    72 
    73 
    74 TAU_CONE_ENERGY = 0.15  ;                  // Delta R = radius of the cone // for "electromagnetic collimation"
    75 TAU_EM_COLLIMATION = 0.95;
    76 TAU_CONE_TRACKS=  0.4  ;                   //Delta R for tracker isolation for tau's
    77 PT_TRACK_TAU =    2.0  ;                   // GeV // 6 GeV ????
    78 
    79 
    80 PT_TRACKS_MIN =   0.9  ;                   // minimal pt needed to reach the calorimeter, in GeV
    81 PT_QUARKS_MIN =   2.0  ;                   // minimal pt needed by quarks to reach the tracker, in GeV (??????)
    82 TRACKING_EFF  =   90;
    83 
    84 
    85 TAGGING_B    =    40;
    86 MISTAGGING_C =    10;
    87 MISTAGGING_L =    1;
    88 
    89 //Trigger flag
    90 DOTRIGGER    =     1;
    91 
    92 CONERADIUS   = 0.7;     // generic jet radius ; not for tau's !!!
    93 JETALGO      =   1;     // 1 for Cone algorithm, 2 for MidPoint algorithm, 3 for SIScone algorithm, 4 for kt algorithm
    94 
    95 //General jet parameters
    96 SEEDTHRESHOLD     = 1.0;
    97 OVERLAPTHRESHOLD = 0.75;
    98 
    99 // Define Cone algorithm.
    100 C_ADJACENCYCUT     = 2;
    101 C_MAXITERATIONS    = 100;
    102 C_IRATCH           = 1;
    103 
    104 //Define MidPoint algorithm.
    105 M_CONEAREAFRACTION  =   0.25;
    106 M_MAXPAIRSIZE       =   2;
    107 M_MAXITERATIONS     =   100;
    108 
    109 // Define Calorimeter Towers
    110 NTOWERS = 40;
    111 
    112 const float tower_eta_edges[41] = {
     31  // Detector characteristics
     32  CEN_max_tracker   = 2.5;                // Maximum tracker coverage         
     33  CEN_max_calo_cen  = 3.0;                // central calorimeter coverage
     34  CEN_max_calo_fwd  = 5.0;                // forward calorimeter pseudorapidity coverage
     35  CEN_max_mu        = 2.4;                // muon chambers pseudorapidity coverage
     36 
     37  // Energy resolution for electron/photon
     38  // \sigma/E = C + N/E + S/\sqrt{E}
     39  ELG_Scen          = 0.05;              // S term for central ECAL
     40  ELG_Ncen          = 0.25;              // N term for central ECAL
     41  ELG_Ccen          = 0.005;             // C term for central ECAL
     42  ELG_Cfwd          = 0.107;             // S term for forward ECAL
     43  ELG_Sfwd          = 2.084;             // C term for forward ECAL
     44  ELG_Nfwd          = 0.0;               // N term for central ECAL
     45
     46  // Energy resolution for hadrons in ecal/hcal/hf
     47  // \sigma/E = C + N/E + S/\sqrt{E}
     48  HAD_Shcal         = 1.5;               // S term for central HCAL // hadronic calorimeter
     49  HAD_Nhcal         = 0.;                // N term for central HCAL
     50  HAD_Chcal         = 0.05;              // C term for central HCAL
     51  HAD_Shf           = 2.7;               // S term for HF // forward calorimeter
     52  HAD_Nhf           = 0.;                // N term for HF
     53  HAD_Chf           = 0.13;              // C term for HF
     54
     55  // Muon smearing
     56  MU_SmearPt        = 0.01;
     57
     58  // Tracking efficiencies
     59  TRACK_ptmin       = 0.9;               // minimal pt needed to reach the calorimeter in GeV
     60  TRACK_eff         = 100;               // efficiency associated to the tracking
     61
     62  // Calorimetric towers
     63  TOWER_number      = 40;
     64  const float tower_eta_edges[41] = {
    11365    0., 0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609, 0.696, 0.783, 0.870, 0.957, 1.044, 1.131, 1.218, 1.305, 1.392, 1.479, 1.566,
    11466    1.653, 1.740, 1.830, 1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.868, 2.950, 3.125, 3.300, 3.475, 3.650, 3.825, 4.000, 4.175,
    11567    4.350, 4.525,  4.700, 5.000}; // temporary object
    116 TOWER_ETA_EDGES = new float[NTOWERS+1];
    117 for(unsigned int i=0; i<NTOWERS+1; i++) TOWER_ETA_EDGES[i] = tower_eta_edges[i];
    118 
    119 const float tower_dphi[40] = {
    120      5, 5, 5, 5, 5,  5, 5, 5, 5, 5,  5, 5, 5, 5, 5,  5, 5, 5, 5, 10,
     68  TOWER_eta_edges = new float[TOWER_number+1];
     69  for(unsigned int i=0; i<TOWER_number +1; i++) TOWER_eta_edges[i] = tower_eta_edges[i];
     70 
     71  const float tower_dphi[40] = {
     72    5, 5, 5, 5, 5,  5, 5, 5, 5, 5,  5, 5, 5, 5, 5,  5, 5, 5, 5, 10,
    12173    10,10,10,10,10, 10,10,10,10,10, 10,10,10,10,10, 10,10,10,20, 20 }; // temporary object
    122 TOWER_DPHI = new float[NTOWERS];
    123 for(unsigned int i=0; i<NTOWERS; i++) TOWER_DPHI[i] = tower_dphi[i];
    124 
     74  TOWER_dphi = new float[TOWER_number];
     75  for(unsigned int i=0; i<TOWER_number; i++) TOWER_dphi[i] = tower_dphi[i];
     76
     77
     78  // Thresholds for reconstructed objetcs
     79  PTCUT_elec      = 10.0;
     80  PTCUT_muon      = 10.0;
     81  PTCUT_jet       = 20.0;
     82  PTCUT_gamma     = 10.0;
     83  PTCUT_taujet    = 10.0;
     84
     85  // General jet variable
     86  JET_coneradius   = 0.7;            // generic jet radius ; not for tau's !!!
     87  JET_jetalgo      = 1;              // 1 for Cone algorithm, 2 for MidPoint algorithm, 3 for SIScone algorithm, 4 for kt algorithm
     88  JET_seed         = 1.0;            // minimum seed to start jet reconstruction
     89
     90  // Tagging definition
     91  BTAG_b           = 40;
     92  BTAG_mistag_c    = 10;
     93  BTAG_mistag_l    = 1;
     94
     95  // FLAGS
     96  FLAG_bfield      = 1;                       //1 to run the bfield propagation else 0
     97  FLAG_vfd         = 1;                       //1 to run the very forward detectors else 0
     98  FLAG_trigger     = 1;                       //1 to run the trigger selection else 0
     99  FLAG_frog        = 1;                       //1 to run the FROG event display
     100
     101  // In case BField propagation allowed
     102  TRACK_radius      = 129;                   //radius of the BField coverage
     103  TRACK_length      = 300;                   //length of the BField coverage
     104  TRACK_bfield_x    = 0;                     //X composant of the BField
     105  TRACK_bfield_y    = 0;                     //Y composant of the BField
     106  TRACK_bfield_z    = 3.8;                   //Z composant of the BField
     107
     108  // In case Very forward detectors allowed
     109  VFD_min_calo_vfd  = 5.2;                   // very forward calorimeter (if any) like CASTOR
     110  VFD_max_calo_vfd  = 6.6;
     111  VFD_min_zdc       = 8.3;
     112  VFD_s_zdc         = 140;                   // distance of the Zero Degree Calorimeter, from the Interaction poin, in [m]
     113
     114  RP_220_s          = 220;                   // distance of the RP to the IP, in meters
     115  RP_220_x          = 0.002;                 // distance of the RP to the beam, in meters
     116  RP_420_s          = 420;                   // distance of the RP to the IP, in meters
     117  RP_420_x          = 0.004;                 // distance of the RP to the beam, in meters
     118
     119  // In case FROG event display allowed
     120  NEvents_Frog      = 10;
     121
     122  //********************************************
     123  //jet stuffs not defined in the input datacard
     124  //********************************************
     125 
     126  JET_overlap     = 0.75;
     127  // MidPoint algorithm definition
     128  JET_M_coneareafraction = 0.25;
     129  JET_M_maxpairsize      = 2;
     130  JET_M_maxiterations    = 100;
     131  // Define Cone algorithm.
     132  JET_C_adjacencycut  =  2;
     133  JET_C_maxiterations = 100;
     134  JET_C_iratch        =  1;
     135  //Define SISCone algorithm.
     136  JET_S_npass         = 0;
     137  JET_S_protojet_ptmin= 0.0;
     138 
     139  //For Tau-jet definition
     140  TAU_energy_scone = 0.15;  // radius R of the cone for tau definition, based on energy threshold
     141  TAU_track_scone  = 0.4;   // radius R of the cone for tau definition, based on track number
     142  TAU_track_pt     = 2;     // minimal pt [GeV] for tracks to be considered in tau definition
     143  TAU_energy_frac  = 0.95;  // fraction of energy required in the central part of the cone, for tau jets
     144 
     145  PT_QUARKS_MIN =   2.0  ;                   // minimal pt needed by quarks to do b-tag
     146 
    125147}
    126148
     
    133155  ifstream fichier_a_lire(datacard.c_str());
    134156  if(!fichier_a_lire.good()) {
    135         cout << datacard << "Datadard " << datacard << " not found, use default values" << endl;
    136         return;
    137   }
    138 
     157    cout << datacard << "Datadard " << datacard << " not found, use default values" << endl;
     158    return;
     159  }
     160 
    139161  while (getline(fichier_a_lire,temp_string)) {
    140162    curstring.clear(); // needed when using several times istringstream::str(string)
     
    144166   
    145167    if(strstr(temp_string.c_str(),"#")) { }
    146     else if(strstr(temp_string.c_str(),"MAX_TRACKER")){curstring >> varname >> value; MAX_TRACKER = value;}
    147     else if(strstr(temp_string.c_str(),"MAX_CALO_CEN")){curstring >> varname >> value; MAX_CALO_CEN = value;}
    148     else if(strstr(temp_string.c_str(),"MAX_CALO_FWD")){curstring >> varname >> value; MAX_CALO_FWD = value;}
    149     else if(strstr(temp_string.c_str(),"MAX_MU")){curstring >> varname >> value; MAX_MU = value;}
    150     else if(strstr(temp_string.c_str(),"TRACKING_RADIUS")){curstring >> varname >> ivalue; TRACKING_RADIUS = ivalue;}
    151     else if(strstr(temp_string.c_str(),"TRACKING_LENGTH")){curstring >> varname >> ivalue; TRACKING_LENGTH = ivalue;}
    152     else if(strstr(temp_string.c_str(),"BFIELD_X")){curstring >> varname >> value; BFIELD_X = value;}
    153     else if(strstr(temp_string.c_str(),"BFIELD_Y")){curstring >> varname >> value; BFIELD_Y = value;}
    154     else if(strstr(temp_string.c_str(),"BFIELD_Z")){curstring >> varname >> value; BFIELD_Z = value;}
    155     else if(strstr(temp_string.c_str(),"ELG_Scen")){curstring >> varname >> value; ELG_Scen = value;}
    156     else if(strstr(temp_string.c_str(),"ELG_Ncen")){curstring >> varname >> value; ELG_Ncen = value;}
    157     else if(strstr(temp_string.c_str(),"ELG_Ccen")){curstring >> varname >> value; ELG_Ccen = value;}
    158     else if(strstr(temp_string.c_str(),"ELG_Sfwd")){curstring >> varname >> value; ELG_Sfwd = value;}
    159     else if(strstr(temp_string.c_str(),"ELG_Cfwd")){curstring >> varname >> value; ELG_Cfwd = value;}
    160     else if(strstr(temp_string.c_str(),"ELG_Nfwd")){curstring >> varname >> value; ELG_Nfwd = value;}
    161     else if(strstr(temp_string.c_str(),"HAD_Shcal")){curstring >> varname >> value; HAD_Shcal = value;}
    162     else if(strstr(temp_string.c_str(),"HAD_Nhcal")){curstring >> varname >> value; HAD_Nhcal = value;}
    163     else if(strstr(temp_string.c_str(),"HAD_Chcal")){curstring >> varname >> value; HAD_Chcal = value;}
    164     else if(strstr(temp_string.c_str(),"HAD_Shf")){curstring >> varname >> value; HAD_Shf = value;}
    165     else if(strstr(temp_string.c_str(),"HAD_Nhf")){curstring >> varname >> value; HAD_Nhf = value;}
    166     else if(strstr(temp_string.c_str(),"HAD_Chf")){curstring >> varname >> value; HAD_Chf = value;}
    167     else if(strstr(temp_string.c_str(),"MU_SmearPt")){curstring >> varname >> value; MU_SmearPt = value;}
    168     else if(strstr(temp_string.c_str(),"TAU_CONE_ENERGY")){curstring >> varname >> value; TAU_CONE_ENERGY = value;}
    169     else if(strstr(temp_string.c_str(),"TAU_CONE_TRACKS")){curstring >> varname >> value; TAU_CONE_TRACKS = value;}
    170     else if(strstr(temp_string.c_str(),"PT_TRACK_TAU")){curstring >> varname >> value; PT_TRACK_TAU = value;}
    171     else if(strstr(temp_string.c_str(),"PT_TRACKS_MIN")){curstring >> varname >> value; PT_TRACKS_MIN = value;}
    172     else if(strstr(temp_string.c_str(),"TAGGING_B")){curstring >> varname >> ivalue; TAGGING_B = ivalue;}
    173     else if(strstr(temp_string.c_str(),"MISTAGGING_C")){curstring >> varname >> ivalue; MISTAGGING_C = ivalue;}
    174     else if(strstr(temp_string.c_str(),"MISTAGGING_L")){curstring >> varname >> ivalue; MISTAGGING_L = ivalue;}
    175     else if(strstr(temp_string.c_str(),"CONERADIUS")){curstring >> varname >> value; CONERADIUS = value;}
    176     else if(strstr(temp_string.c_str(),"JETALGO")){curstring >> varname >> ivalue; JETALGO = ivalue;}
    177     else if(strstr(temp_string.c_str(),"TRACKING_EFF")){curstring >> varname >> ivalue; TRACKING_EFF = ivalue;}
    178     else if(strstr(temp_string.c_str(),"ELEC_pt")){curstring >> varname >> value; ELEC_pt = value;}
    179     else if(strstr(temp_string.c_str(),"MUON_pt")){curstring >> varname >> value; MUON_pt = value;}
    180     else if(strstr(temp_string.c_str(),"JET_pt")){curstring >> varname >> value; JET_pt = value;}
    181     else if(strstr(temp_string.c_str(),"GAMMA_pt")){curstring >> varname >> value; GAMMA_pt = value;}
    182     else if(strstr(temp_string.c_str(),"TAUJET_pt")){curstring >> varname >> value; TAUJET_pt = value;}
    183     else if(strstr(temp_string.c_str(),"NTOWERS")){curstring >> varname >> ivalue; NTOWERS = ivalue;}
    184     else if(strstr(temp_string.c_str(),"DOTRIGGER")){curstring >> varname >> ivalue; DOTRIGGER = ivalue;}
    185     else if(strstr(temp_string.c_str(),"TOWER_ETA_EDGES")){
    186         curstring >> varname;   for(unsigned int i=0; i<NTOWERS+1; i++) {curstring >> value; TOWER_ETA_EDGES[i] = value;} }
    187     else if(strstr(temp_string.c_str(),"TOWER_DPHI")){
    188         curstring >> varname;   for(unsigned int i=0; i<NTOWERS; i++) {curstring >> value; TOWER_DPHI[i] = value;} }
    189    
    190 
    191   }
    192 
    193 // General jet variables
    194  SEEDTHRESHOLD     = 1.0;
    195  OVERLAPTHRESHOLD = 0.75;
    196 
    197 // Define Cone algorithm.
    198  C_ADJACENCYCUT     = 2;
    199  C_MAXITERATIONS    = 100;
    200  C_IRATCH           = 1;
    201 
    202 //Define MidPoint algorithm.
    203  M_CONEAREAFRACTION  =   0.25;
    204  M_MAXPAIRSIZE       =   2;
    205  M_MAXITERATIONS     =   100;
    206 
    207 //Define SISCone algorithm.
    208  NPASS = 0;               
    209  PROTOJET_PTMIN = 0.0;
    210 
    211 
     168    else if(strstr(temp_string.c_str(),"CEN_max_tracker"))  {curstring >> varname >> value; CEN_max_tracker   = value;}
     169    else if(strstr(temp_string.c_str(),"CEN_max_calo_cen")) {curstring >> varname >> value; CEN_max_calo_cen  = value;}
     170    else if(strstr(temp_string.c_str(),"CEN_max_calo_fwd")) {curstring >> varname >> value; CEN_max_calo_fwd  = value;}
     171    else if(strstr(temp_string.c_str(),"CEN_max_mu"))       {curstring >> varname >> value; CEN_max_mu        = value;}
     172   
     173    else if(strstr(temp_string.c_str(),"VFD_min_calo_vfd")) {curstring >> varname >> value; VFD_min_calo_vfd  = value;}
     174    else if(strstr(temp_string.c_str(),"VFD_max_calo_vfd")) {curstring >> varname >> value; VFD_max_calo_vfd  = value;}
     175    else if(strstr(temp_string.c_str(),"VFD_min_zdc"))      {curstring >> varname >> value; VFD_min_zdc       = value;}
     176    else if(strstr(temp_string.c_str(),"VFD_s_zdc"))        {curstring >> varname >> value; VFD_s_zdc         = value;}
     177   
     178    else if(strstr(temp_string.c_str(),"RP_220_s"))         {curstring >> varname >> value; RP_220_s          = value;}
     179    else if(strstr(temp_string.c_str(),"RP_220_x"))         {curstring >> varname >> value; RP_220_x          = value;}
     180    else if(strstr(temp_string.c_str(),"RP_420_s"))         {curstring >> varname >> value; RP_420_s          = value;}
     181    else if(strstr(temp_string.c_str(),"RP_420_x"))         {curstring >> varname >> value; RP_420_x          = value;}
     182   
     183    else if(strstr(temp_string.c_str(),"ELG_Scen"))         {curstring >> varname >> value; ELG_Scen          = value;}
     184    else if(strstr(temp_string.c_str(),"ELG_Ncen"))         {curstring >> varname >> value; ELG_Ncen          = value;}
     185    else if(strstr(temp_string.c_str(),"ELG_Ccen"))         {curstring >> varname >> value; ELG_Ccen          = value;}
     186    else if(strstr(temp_string.c_str(),"ELG_Sfwd"))         {curstring >> varname >> value; ELG_Sfwd          = value;}
     187    else if(strstr(temp_string.c_str(),"ELG_Cfwd"))         {curstring >> varname >> value; ELG_Cfwd          = value;}
     188    else if(strstr(temp_string.c_str(),"ELG_Nfwd"))         {curstring >> varname >> value; ELG_Nfwd          = value;}
     189    else if(strstr(temp_string.c_str(),"HAD_Shcal"))        {curstring >> varname >> value; HAD_Shcal         = value;}
     190    else if(strstr(temp_string.c_str(),"HAD_Nhcal"))        {curstring >> varname >> value; HAD_Nhcal         = value;}
     191    else if(strstr(temp_string.c_str(),"HAD_Chcal"))        {curstring >> varname >> value; HAD_Chcal         = value;}
     192    else if(strstr(temp_string.c_str(),"HAD_Shf"))          {curstring >> varname >> value; HAD_Shf           = value;}
     193    else if(strstr(temp_string.c_str(),"HAD_Nhf"))          {curstring >> varname >> value; HAD_Nhf           = value;}
     194    else if(strstr(temp_string.c_str(),"HAD_Chf"))          {curstring >> varname >> value; HAD_Chf           = value;}
     195    else if(strstr(temp_string.c_str(),"MU_SmearPt"))       {curstring >> varname >> value; MU_SmearPt        = value;}
     196   
     197    else if(strstr(temp_string.c_str(),"TRACK_radius"))     {curstring >> varname >> ivalue;TRACK_radius      = ivalue;}
     198    else if(strstr(temp_string.c_str(),"TRACK_length"))     {curstring >> varname >> ivalue;TRACK_length      = ivalue;}
     199    else if(strstr(temp_string.c_str(),"TRACK_bfield_x"))   {curstring >> varname >> value; TRACK_bfield_x    = value;}
     200    else if(strstr(temp_string.c_str(),"TRACK_bfield_y"))   {curstring >> varname >> value; TRACK_bfield_y    = value;}
     201    else if(strstr(temp_string.c_str(),"TRACK_bfield_z"))   {curstring >> varname >> value; TRACK_bfield_z    = value;}
     202    else if(strstr(temp_string.c_str(),"FLAG_bfield"))      {curstring >> varname >> ivalue; FLAG_bfield      = ivalue;}
     203    else if(strstr(temp_string.c_str(),"TRACK_ptmin"))      {curstring >> varname >> value; TRACK_ptmin       = value;}
     204    else if(strstr(temp_string.c_str(),"TRACK_eff"))        {curstring >> varname >> ivalue;TRACK_eff         = ivalue;}
     205
     206    else if(strstr(temp_string.c_str(),"TOWER_number"))     {curstring >> varname >> ivalue;TOWER_number      = ivalue;}
     207    else if(strstr(temp_string.c_str(),"TOWER_eta_edges")){
     208        curstring >> varname;   for(unsigned int i=0; i<TOWER_number+1; i++) {curstring >> value; TOWER_eta_edges[i] = value;} }
     209    else if(strstr(temp_string.c_str(),"TOWER_dphi")){
     210        curstring >> varname;   for(unsigned int i=0; i<TOWER_number; i++)   {curstring >> value; TOWER_dphi[i] = value;} }
     211
     212    else if(strstr(temp_string.c_str(),"PTCUT_elec"))       {curstring >> varname >> value; PTCUT_elec        = value;}
     213    else if(strstr(temp_string.c_str(),"PTCUT_muon"))       {curstring >> varname >> value; PTCUT_muon        = value;}
     214    else if(strstr(temp_string.c_str(),"PTCUT_jet"))        {curstring >> varname >> value; PTCUT_jet         = value;}
     215    else if(strstr(temp_string.c_str(),"PTCUT_gamma"))      {curstring >> varname >> value; PTCUT_gamma       = value;}
     216    else if(strstr(temp_string.c_str(),"PTCUT_taujet"))     {curstring >> varname >> value; PTCUT_taujet      = value;}
     217
     218    else if(strstr(temp_string.c_str(),"JET_coneradius"))   {curstring >> varname >> value; JET_coneradius    = value;}
     219    else if(strstr(temp_string.c_str(),"JET_jetalgo"))      {curstring >> varname >> ivalue;JET_jetalgo       = ivalue;}
     220    else if(strstr(temp_string.c_str(),"JET_seed"))         {curstring >> varname >> value; JET_seed          = value;}
     221 
     222    else if(strstr(temp_string.c_str(),"BTAG_b"))           {curstring >> varname >> ivalue;BTAG_b            = ivalue;}
     223    else if(strstr(temp_string.c_str(),"BTAG_mistag_c"))    {curstring >> varname >> ivalue;BTAG_mistag_c     = ivalue;}
     224    else if(strstr(temp_string.c_str(),"BTAG_mistag_l"))    {curstring >> varname >> ivalue;BTAG_mistag_l     = ivalue;}
     225
     226    else if(strstr(temp_string.c_str(),"FLAG_vfd"))         {curstring >> varname >> ivalue; FLAG_vfd         = ivalue;}
     227    else if(strstr(temp_string.c_str(),"FLAG_trigger"))     {curstring >> varname >> ivalue; FLAG_trigger     = ivalue;}
     228    else if(strstr(temp_string.c_str(),"FLAG_frog"))        {curstring >> varname >> ivalue; FLAG_frog        = ivalue;}
     229    else if(strstr(temp_string.c_str(),"NEvents_Frog"))     {curstring >> varname >> ivalue; NEvents_Frog     = ivalue;}
     230  }
     231 
     232  //jet stuffs not defined in the input datacard
     233  JET_overlap     = 0.75;
     234  // MidPoint algorithm definition
     235  JET_M_coneareafraction = 0.25;
     236  JET_M_maxpairsize      = 2;
     237  JET_M_maxiterations    = 100;
     238  // Define Cone algorithm.
     239  JET_C_adjacencycut  =  2;
     240  JET_C_maxiterations = 100;
     241  JET_C_iratch        =  1;
     242  //Define SISCone algorithm.
     243  JET_S_npass         = 0;
     244  JET_S_protojet_ptmin= 0.0;
     245 
     246  //For Tau-jet definition
     247  TAU_energy_scone = 0.15;  // radius R of the cone for tau definition, based on energy threshold
     248  TAU_track_scone  = 0.4;   // radius R of the cone for tau definition, based on track number
     249  TAU_track_pt     = 2;     // minimal pt [GeV] for tracks to be considered in tau definition
     250  TAU_energy_frac  = 0.95;  // fraction of energy required in the central part of the cone, for tau jets
     251 
    212252}
    213253
    214254void RESOLution::Logfile(string LogName) {
    215 //void RESOLution::Logfile(string outputfilename) {
    216 
     255  //void RESOLution::Logfile(string outputfilename) {
     256 
    217257  ofstream f_out(LogName.c_str());
    218258 
     
    251291  f_out<<"*                                                                    *"<<"\n";
    252292  f_out << left << setw(30) <<"* Maximum tracking system:                   "<<""
    253         << left << setw(10) <<MAX_TRACKER   <<""<< right << setw(15)<<"*"<<"\n";
     293        << left << setw(10) <<CEN_max_tracker   <<""<< right << setw(15)<<"*"<<"\n";
    254294  f_out << left << setw(30) <<"* Maximum central calorimeter:               "<<""
    255         << left << setw(10) <<MAX_CALO_CEN  <<""<< right << setw(15)<<"*"<<"\n";
     295        << left << setw(10) <<CEN_max_calo_cen  <<""<< right << setw(15)<<"*"<<"\n";
    256296  f_out << left << setw(30) <<"* Maximum forward calorimeter:               "<<""
    257         << left << setw(10) <<MAX_CALO_FWD  <<""<< right << setw(15)<<"*"<<"\n";
     297        << left << setw(10) <<CEN_max_calo_fwd  <<""<< right << setw(15)<<"*"<<"\n";
    258298  f_out << left << setw(30) <<"* Muon chambers coverage:                    "<<""
    259         << left << setw(10) <<MAX_MU        <<""<< right << setw(15)<<"*"<<"\n";
    260   f_out<<"*                                                                    *"<<"\n";
    261   f_out<<"#*************************************                               *"<<"\n";
    262   f_out<<"# Very forward detector caracteristics                               *"<<"\n";
    263   f_out<<"#*************************************                               *"<<"\n";
    264   f_out<<"*                                                                    *"<<"\n";
    265   f_out << left << setw(55) <<"* Minimum very forward calorimeter:          "<<""
    266         << left << setw(5) <<MIN_CALO_VFWD <<""<< right << setw(10)<<"*"<<"\n";
    267   f_out << left << setw(55) <<"* Maximum very forward calorimeter:          "<<""
    268         << left << setw(5) <<MAX_CALO_VFWD <<""<< right << setw(10)<<"*"<<"\n";
    269   f_out << left << setw(55) <<"* Distance of the ZDC to the IP, in meters:  "<<""
    270         << left << setw(5) <<ZDC_S         <<""<< right << setw(10)<<"*"<<"\n";
    271   f_out << left << setw(55) <<"* Distance of the RP to the IP, in meters:   "<<""
    272         << left << setw(5) <<RP220_S       <<""<< right << setw(10)<<"*"<<"\n";
    273   f_out << left << setw(55) <<"* Distance of the RP to the beam, in meters: "<<""
    274         << left << setw(5) <<RP220_X       <<""<< right << setw(10)<<"*"<<"\n";
    275   f_out << left << setw(55) <<"* Distance of the RP to the IP, in meters:   "<<""
    276         << left << setw(5) <<FP420_S       <<""<< right << setw(10)<<"*"<<"\n";
    277   f_out << left << setw(55) <<"* Distance of the RP to the beam, in meters: "<<""
    278         << left << setw(5) <<FP420_X       <<""<< right << setw(10)<<"*"<<"\n";
    279   f_out<<"*                                                                    *"<<"\n";
    280   f_out<<"#***********************************                                 *"<<"\n";
    281   f_out<<"# Magnetic field needed informations                                 *"<<"\n";
    282   f_out<<"#***********************************                                 *"<<"\n";
    283   f_out<<"*                                                                    *"<<"\n";
    284   f_out << left << setw(55) <<"* Radius of the BField coverage:              "<<""
    285         << left << setw(5) <<TRACKING_RADIUS <<""<< right << setw(10)<<"*"<<"\n";
    286   f_out << left << setw(55) <<"* Length of the BField coverage:              "<<""
    287         << left << setw(5) <<TRACKING_LENGTH <<""<< right << setw(10)<<"*"<<"\n";
    288   f_out << left << setw(55) <<"* BField X component:                         "<<""
    289         << left << setw(5) <<BFIELD_X <<""<< right << setw(10)<<"*"<<"\n";
    290   f_out << left << setw(55) <<"* BField Y component:                         "<<""
    291         << left << setw(5) <<BFIELD_Y <<""<< right << setw(10)<<"*"<<"\n";
    292   f_out << left << setw(55) <<"* BField Z component:                         "<<""
    293         << left << setw(5) <<BFIELD_Z <<""<< right << setw(10)<<"*"<<"\n";
    294   f_out<<"*                                                                    *"<<"\n";
    295 
    296 
    297   f_out<<"*                                                                    *"<<"\n";
    298   f_out<<"#********************                                                *"<<"\n";
    299   f_out<<"# Calorimetric Towers                                                *"<<"\n";
    300   f_out<<"#********************                                                *"<<"\n";
    301   f_out << left << setw(55) <<"* Number of calorimetric towers in eta, for eta>0: "<<""
    302         << left << setw(5) << NTOWERS <<""<< right << setw(10)<<"*"<<"\n";
    303   f_out << left << setw(55) <<"* Tower edges in eta, for eta>0: "<<"" << right << setw(15)<<"*"<<"\n";
    304           f_out << "*   ";
    305           for (unsigned int i=0; i<NTOWERS+1; i++) {
    306                 f_out << left << setw(7) << TOWER_ETA_EDGES[i];
    307                 if(!( (i+1) %9 )) f_out << right << setw(3) << "*" << "\n" << "*   ";
    308           }
    309           for (unsigned int i=(NTOWERS+1)%9; i<9; i++) f_out << left << setw(7) << "";
    310           f_out << right << setw(3)<<"*"<<"\n";
    311   f_out << left << setw(55) <<"* Tower sizes in phi, for eta>0 [degree]:"<<"" << right << setw(15)<<"*"<<"\n";
    312           f_out << "*   ";
    313           for (unsigned int i=0; i<NTOWERS; i++) {
    314                 f_out << left << setw(7) << TOWER_DPHI[i];
    315                 if(!( (i+1) %9 )) f_out << right << setw(3) << "*" << "\n" << "*   ";
    316           }
    317           for (unsigned int i=(NTOWERS)%9; i<9; i++) f_out << left << setw(7) << "";
    318           f_out << right << setw(3)<<"*"<<"\n";
    319   f_out<<"*                                                                    *"<<"\n";
    320 
     299        << left << setw(10) <<CEN_max_mu        <<""<< right << setw(15)<<"*"<<"\n";
     300  f_out<<"*                                                                    *"<<"\n";
     301  if(FLAG_vfd==1){
     302    f_out<<"#**********************************                                  *"<<"\n";
     303    f_out<<"# Very forward detector switches on                                  *"<<"\n";
     304    f_out<<"#**********************************                                  *"<<"\n";
     305    f_out<<"*                                                                    *"<<"\n";
     306    f_out << left << setw(55) <<"* Minimum very forward calorimeter:          "<<""
     307          << left << setw(5) <<VFD_min_calo_vfd <<""<< right << setw(10)<<"*"<<"\n";
     308    f_out << left << setw(55) <<"* Maximum very forward calorimeter:          "<<""
     309          << left << setw(5) <<VFD_max_calo_vfd <<""<< right << setw(10)<<"*"<<"\n";
     310    f_out << left << setw(55) <<"* Minimum coverage zero_degree calorimeter "<<""
     311          << left << setw(5) <<VFD_min_zdc          <<""<< right << setw(10)<<"*"<<"\n";
     312    f_out << left << setw(55) <<"* Distance of the ZDC to the IP, in meters:  "<<""
     313          << left << setw(5) <<VFD_s_zdc            <<""<< right << setw(10)<<"*"<<"\n";
     314    f_out << left << setw(55) <<"* Distance of the RP to the IP, in meters:   "<<""
     315          << left << setw(5) <<RP_220_s             <<""<< right << setw(10)<<"*"<<"\n";
     316    f_out << left << setw(55) <<"* Distance of the RP to the beam, in meters: "<<""
     317          << left << setw(5) <<RP_220_x             <<""<< right << setw(10)<<"*"<<"\n";
     318    f_out << left << setw(55) <<"* Distance of the RP to the IP, in meters:   "<<""
     319          << left << setw(5) <<RP_420_s             <<""<< right << setw(10)<<"*"<<"\n";
     320    f_out << left << setw(55) <<"* Distance of the RP to the beam, in meters: "<<""
     321          << left << setw(5) <<RP_420_x             <<""<< right << setw(10)<<"*"<<"\n";
     322    f_out<<"*                                                                    *"<<"\n";
     323  }
     324  else {
     325    f_out<<"#***********************************                                 *"<<"\n";
     326    f_out<<"# Very forward detector switches off                                 *"<<"\n";
     327    f_out<<"#***********************************                                 *"<<"\n";
     328    f_out<<"*                                                                    *"<<"\n";
     329  }
    321330  f_out<<"#************************************                                *"<<"\n";
    322331  f_out<<"# Electromagnetic smearing parameters                                *"<<"\n";
     
    354363        << left << setw(30) <<HAD_Chf         <<""<< right << setw(10)<<"*"<<"\n";
    355364  f_out<<"*                                                                    *"<<"\n";
    356   f_out<<"#***************************                                         *"<<"\n";
    357   f_out<<"# Tracking system acceptance                                         *"<<"\n";
    358   f_out<<"#***************************                                         *"<<"\n";
    359   f_out<<"*                                                                    *"<<"\n";
    360   f_out << left << setw(55) <<"* Minimal pT needed to reach the calorimeter [GeV]: "<<""
    361         << left << setw(10) <<PT_TRACKS_MIN         <<""<< right << setw(5)<<"*"<<"\n";
    362   f_out << left << setw(55) <<"* Efficiency associated to the tracking: "<<""
    363         << left << setw(10) <<TRACKING_EFF          <<""<< right << setw(5)<<"*"<<"\n";
    364   f_out<<"*                                                                    *"<<"\n";
    365365  f_out<<"#*************************                                           *"<<"\n";
    366366  f_out<<"# Muon smearing parameters                                           *"<<"\n";
    367367  f_out<<"#*************************                                           *"<<"\n";
    368368  f_out<<"*                                                                    *"<<"\n";
    369   //MU_SmearPt       0.01
    370   f_out<<"*                                                                    *"<<"\n";
    371   f_out<<"#******************************                                      *"<<"\n";
    372   f_out<<"# Tau-jet definition parameters                                      *"<<"\n";
    373   f_out<<"#******************************                                      *"<<"\n";
    374   f_out<<"*                                                                    *"<<"\n";
    375   f_out << left << setw(45) <<"* Cone radius for calorimeter tagging:  "<<""
    376         << left << setw(5) <<TAU_CONE_ENERGY                           <<""<< right << setw(20)<<"*"<<"\n";
    377   f_out << left << setw(45) <<"* Fraction of energy in the small cone: "<<""
    378         << left << setw(5) <<TAU_EM_COLLIMATION*100                    <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
    379   f_out << left << setw(45) <<"* Cone radius for tracking tagging:     "<<""
    380         << left << setw(5) <<TAU_CONE_TRACKS                           <<""<< right << setw(20)<<"*"<<"\n";
    381   f_out << left << setw(45) <<"* Minimum track pT [GeV]:               "<<""
    382         << left << setw(5) <<PT_TRACK_TAU                              <<""<< right << setw(20)<<"*"<<"\n";
     369  f_out << left << setw(55) <<"* PT resolution for muons        :              "<<""
     370        << left << setw(5) <<MU_SmearPt            <<""<< right << setw(10)<<"*"<<"\n";
     371  f_out<<"*                                                                    *"<<"\n";
     372  if(FLAG_bfield==1){
     373    f_out<<"#***************************                                         *"<<"\n";
     374    f_out<<"# Magnetic field switches on                                         *"<<"\n";
     375    f_out<<"#***************************                                         *"<<"\n";
     376    f_out<<"*                                                                    *"<<"\n";
     377    f_out << left << setw(55) <<"* Radius of the BField coverage:              "<<""
     378          << left << setw(5) <<TRACK_radius    <<""<< right << setw(10)<<"*"<<"\n";
     379    f_out << left << setw(55) <<"* Length of the BField coverage:              "<<""
     380          << left << setw(5) <<TRACK_length    <<""<< right << setw(10)<<"*"<<"\n";
     381    f_out << left << setw(55) <<"* BField X component:                         "<<""
     382          << left << setw(5) <<TRACK_bfield_x  <<""<< right << setw(10)<<"*"<<"\n";
     383    f_out << left << setw(55) <<"* BField Y component:                         "<<""
     384          << left << setw(5) <<TRACK_bfield_y  <<""<< right << setw(10)<<"*"<<"\n";
     385    f_out << left << setw(55) <<"* BField Z component:                         "<<""
     386          << left << setw(5) <<TRACK_bfield_z  <<""<< right << setw(10)<<"*"<<"\n";
     387    f_out << left << setw(55) <<"* Minimal pT needed to reach the calorimeter [GeV]: "<<""
     388          << left << setw(10) <<TRACK_ptmin         <<""<< right << setw(5)<<"*"<<"\n";
     389    f_out << left << setw(55) <<"* Efficiency associated to the tracking: "<<""
     390          << left << setw(10) <<TRACK_eff          <<""<< right << setw(5)<<"*"<<"\n";
     391    f_out<<"*                                                                    *"<<"\n";
     392  }
     393  else {
     394    f_out<<"#****************************                                        *"<<"\n";
     395    f_out<<"# Magnetic field switches off                                        *"<<"\n";
     396    f_out<<"#****************************                                        *"<<"\n";
     397    f_out << left << setw(55) <<"* Minimal pT needed to reach the calorimeter [GeV]: "<<""
     398          << left << setw(10) <<TRACK_ptmin         <<""<< right << setw(5)<<"*"<<"\n";
     399    f_out << left << setw(55) <<"* Efficiency associated to the tracking: "<<""
     400          << left << setw(10) <<TRACK_eff          <<""<< right << setw(5)<<"*"<<"\n";
     401    f_out<<"*                                                                    *"<<"\n";
     402  }
     403  f_out<<"#********************                                                *"<<"\n";
     404  f_out<<"# Calorimetric Towers                                                *"<<"\n";
     405  f_out<<"#********************                                                *"<<"\n";
     406  f_out << left << setw(55) <<"* Number of calorimetric towers in eta, for eta>0: "<<""
     407        << left << setw(5)  << TOWER_number <<""<< right << setw(10)<<"*"<<"\n";
     408  f_out << left << setw(55) <<"* Tower edges in eta, for eta>0: "<<"" << right << setw(15)<<"*"<<"\n";
     409  f_out << "*   ";
     410  for (unsigned int i=0; i<TOWER_number+1; i++) {
     411    f_out << left << setw(7) << TOWER_eta_edges[i];
     412    if(!( (i+1) %9 )) f_out << right << setw(3) << "*" << "\n" << "*   ";
     413  }
     414  for (unsigned int i=(TOWER_number+1)%9; i<9; i++) f_out << left << setw(7) << "";
     415  f_out << right << setw(3)<<"*"<<"\n";
     416  f_out << left << setw(55) <<"* Tower sizes in phi, for eta>0 [degree]:"<<"" << right << setw(15)<<"*"<<"\n";
     417  f_out << "*   ";
     418  for (unsigned int i=0; i<TOWER_number; i++) {
     419    f_out << left << setw(7) << TOWER_dphi[i];
     420    if(!( (i+1) %9 )) f_out << right << setw(3) << "*" << "\n" << "*   ";
     421  }
     422  for (unsigned int i=(TOWER_number)%9; i<9; i++) f_out << left << setw(7) << "";
     423  f_out << right << setw(3)<<"*"<<"\n";
    383424  f_out<<"*                                                                    *"<<"\n";
    384425  f_out<<"#*******************                                                 *"<<"\n";
     
    387428  f_out<<"*                                                                    *"<<"\n";
    388429  f_out << left << setw(40) <<"* Minimum pT for electrons: "<<""
    389         << left << setw(20) <<ELEC_pt         <<""<< right << setw(10)<<"*"<<"\n";
     430        << left << setw(20) <<PTCUT_elec         <<""<< right << setw(10)<<"*"<<"\n";
    390431  f_out << left << setw(40) <<"* Minimum pT for muons: "<<""
    391         << left << setw(20) <<MUON_pt         <<""<< right << setw(10)<<"*"<<"\n";
     432        << left << setw(20) <<PTCUT_muon         <<""<< right << setw(10)<<"*"<<"\n";
    392433  f_out << left << setw(40) <<"* Minimum pT for jets: "<<""
    393         << left << setw(20) <<JET_pt         <<""<< right << setw(10)<<"*"<<"\n";
     434        << left << setw(20) <<PTCUT_jet          <<""<< right << setw(10)<<"*"<<"\n";
    394435  f_out << left << setw(40) <<"* Minimum pT for Tau-jets: "<<""
    395         << left << setw(20) <<TAUJET_pt         <<""<< right << setw(10)<<"*"<<"\n";
     436        << left << setw(20) <<PTCUT_taujet       <<""<< right << setw(10)<<"*"<<"\n";
    396437  f_out << left << setw(40) <<"* Minimum pT for photons: "<<""
    397         << left << setw(20) <<GAMMA_pt         <<""<< right << setw(10)<<"*"<<"\n";
    398   f_out<<"*                                                                    *"<<"\n";
    399   f_out<<"#***************************                                         *"<<"\n";
    400   f_out<<"# B-tagging efficiencies [%]                                         *"<<"\n";
    401   f_out<<"#***************************                                         *"<<"\n";
    402   f_out<<"*                                                                    *"<<"\n";
    403   f_out << left << setw(50) <<"* Efficiency to tag a \"b\" as a b-jet: "<<""
    404         << left << setw(10) <<TAGGING_B         <<""<< right << setw(10)<<"*"<<"\n";
    405   f_out << left << setw(50) <<"* Efficiency to mistag a c-jet as a b-jet: "<<""
    406         << left << setw(10) <<MISTAGGING_C         <<""<< right << setw(10)<<"*"<<"\n";
    407   f_out << left << setw(50) <<"* Efficiency to mistag a light jet as a b-jet: "<<""
    408         << left << setw(10) <<MISTAGGING_L         <<""<< right << setw(10)<<"*"<<"\n";
     438        << left << setw(20) <<PTCUT_gamma        <<""<< right << setw(10)<<"*"<<"\n";
    409439  f_out<<"*                                                                    *"<<"\n";
    410440  f_out<<"#***************                                                     *"<<"\n";
     
    421451  f_out<<"*                                                                    *"<<"\n";
    422452  f_out<<"* You have chosen                                                    *"<<"\n";
    423   switch(JETALGO) {
     453  switch(JET_jetalgo) {
    424454  default:
    425455  case 1: {
    426   f_out<<"* CDF JetClu jet algorithm with parameters:                          *"<<"\n";
    427   f_out << left << setw(40) <<"*        - Seed threshold:    "<<""
    428         << left << setw(10) <<SEEDTHRESHOLD                   <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
    429   f_out << left << setw(40) <<"*        - Cone radius:       "<<""
    430         << left << setw(10) <<CONERADIUS                      <<""<< right << setw(20)<<"*"<<"\n";
    431   f_out << left << setw(40) <<"*        - Adjacency cut:     "<<""
    432         << left << setw(10) <<C_ADJACENCYCUT                  <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
    433   f_out << left << setw(40) <<"*        - Max iterations:    "<<""
    434         << left << setw(10) <<C_MAXITERATIONS                 <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
    435   f_out << left << setw(40) <<"*        - Iratch:            "<<""
    436         << left << setw(10) <<C_IRATCH                        <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
    437   f_out << left << setw(40) <<"*        - Overlap threshold: "<<""
    438         << left << setw(10) <<OVERLAPTHRESHOLD                <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     456    f_out<<"* CDF JetClu jet algorithm with parameters:                          *"<<"\n";
     457    f_out << left << setw(40) <<"*        - Seed threshold:    "<<""
     458          << left << setw(10) <<JET_seed                        <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     459    f_out << left << setw(40) <<"*        - Cone radius:       "<<""
     460          << left << setw(10) <<JET_coneradius                  <<""<< right << setw(20)<<"*"<<"\n";
     461    f_out << left << setw(40) <<"*        - Adjacency cut:     "<<""
     462          << left << setw(10) <<JET_C_adjacencycut              <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     463    f_out << left << setw(40) <<"*        - Max iterations:    "<<""
     464          << left << setw(10) <<JET_C_maxiterations             <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     465    f_out << left << setw(40) <<"*        - Iratch:            "<<""
     466          << left << setw(10) <<JET_C_iratch                    <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     467    f_out << left << setw(40) <<"*        - Overlap threshold: "<<""
     468          << left << setw(10) <<JET_overlap                     <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
    439469  }
    440470    break;
    441471  case 2: {
    442   f_out<<"* CDF midpoint jet algorithm with parameters:                        *"<<"\n";
    443   f_out << left << setw(40) <<"*        - Seed threshold:    "<<""
    444         << left << setw(20) <<SEEDTHRESHOLD                   <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    445   f_out << left << setw(40) <<"*        - Cone radius:       "<<""
    446         << left << setw(20) <<CONERADIUS                      <<""<< right << setw(10)<<"*"<<"\n";
    447   f_out << left << setw(40) <<"*        - Cone area fraction:"<<""
    448         << left << setw(20) <<M_CONEAREAFRACTION              <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    449   f_out << left << setw(40) <<"*        - Maximum pair size: "<<""
    450         << left << setw(20) <<M_MAXPAIRSIZE                   <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    451   f_out << left << setw(40) <<"*        - Max iterations:    "<<""
    452         << left << setw(20) <<M_MAXITERATIONS                 <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    453   f_out << left << setw(40) <<"*        - Overlap threshold: "<<""
    454         << left << setw(20) <<OVERLAPTHRESHOLD                <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     472    f_out<<"* CDF midpoint jet algorithm with parameters:                        *"<<"\n";
     473    f_out << left << setw(40) <<"*        - Seed threshold:    "<<""
     474          << left << setw(20) <<JET_seed                        <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     475    f_out << left << setw(40) <<"*        - Cone radius:       "<<""
     476          << left << setw(20) <<JET_coneradius                  <<""<< right << setw(10)<<"*"<<"\n";
     477    f_out << left << setw(40) <<"*        - Cone area fraction:"<<""
     478          << left << setw(20) <<JET_M_coneareafraction          <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     479    f_out << left << setw(40) <<"*        - Maximum pair size: "<<""
     480          << left << setw(20) <<JET_M_maxpairsize               <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     481    f_out << left << setw(40) <<"*        - Max iterations:    "<<""
     482          << left << setw(20) <<JET_M_maxiterations             <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     483    f_out << left << setw(40) <<"*        - Overlap threshold: "<<""
     484          << left << setw(20) <<JET_overlap                     <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    455485  }
    456486    break;
    457487  case 3: {
    458   f_out <<"* SISCone jet algorithm with parameters:                            *"<<"\n";
    459   f_out << left << setw(40) <<"*        - Cone radius:             "<<""
    460         << left << setw(20) <<CONERADIUS                            <<""<< right << setw(10)<<"*"<<"\n";
    461   f_out << left << setw(40) <<"*        - Overlap threshold:       "<<""
    462         << left << setw(20) <<OVERLAPTHRESHOLD                      <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    463   f_out << left << setw(40) <<"*        - Number pass max:         "<<""
    464         << left << setw(20) <<NPASS                                 <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    465   f_out << left << setw(40) <<"*        - Minimum pT for protojet: "<<""
    466         << left << setw(20) <<PROTOJET_PTMIN                        <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     488    f_out <<"* SISCone jet algorithm with parameters:                            *"<<"\n";
     489    f_out << left << setw(40) <<"*        - Cone radius:             "<<""
     490          << left << setw(20) <<JET_coneradius                        <<""<< right << setw(10)<<"*"<<"\n";
     491    f_out << left << setw(40) <<"*        - Overlap threshold:       "<<""
     492          << left << setw(20) <<JET_overlap                           <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     493    f_out << left << setw(40) <<"*        - Number pass max:         "<<""
     494          << left << setw(20) <<JET_S_npass                           <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
     495    f_out << left << setw(40) <<"*        - Minimum pT for protojet: "<<""
     496          << left << setw(20) <<JET_S_protojet_ptmin                  <<""<< right << setw(10)<<"! not in datacard  *"<<"\n";
    467497  }
    468498    break;
    469499  case 4: {
    470   f_out <<"* KT jet algorithm with parameters:                                 *"<<"\n";
    471   f_out << left << setw(40) <<"*        - Cone radius: "<<""
    472         << left << setw(20) <<CONERADIUS                <<""<< right << setw(10)<<"*"<<"\n";
     500    f_out <<"* KT jet algorithm with parameters:                                 *"<<"\n";
     501    f_out << left << setw(40) <<"*        - Cone radius: "<<""
     502          << left << setw(20) <<JET_coneradius                <<""<< right << setw(10)<<"*"<<"\n";
    473503  }
    474504    break;
    475505  case 5: {
    476   f_out <<"* Cambridge/Aachen jet algorithm with parameters:                   *"<<"\n";
    477   f_out << left << setw(40) <<"*        - Cone radius: "<<""
    478         << left << setw(20) <<CONERADIUS                <<""<< right << setw(10)<<"*"<<"\n";
     506    f_out <<"* Cambridge/Aachen jet algorithm with parameters:                   *"<<"\n";
     507    f_out << left << setw(40) <<"*        - Cone radius: "<<""
     508          << left << setw(20) <<JET_coneradius                <<""<< right << setw(10)<<"*"<<"\n";
    479509  }
    480510    break;
    481511  case 6: {
    482   f_out <<"* Anti-kt jet algorithm with parameters:                            *"<<"\n";
    483   f_out << left << setw(40) <<"*        - Cone radius: "<<""
    484         << left << setw(20) <<CONERADIUS                <<""<< right << setw(10)<<"*"<<"\n";
     512    f_out <<"* Anti-kt jet algorithm with parameters:                            *"<<"\n";
     513    f_out << left << setw(40) <<"*        - Cone radius: "<<""
     514          << left << setw(20) <<JET_coneradius                <<""<< right << setw(10)<<"*"<<"\n";
    485515  }
    486516    break;
    487 
    488 
    489   }
     517  }
     518  f_out<<"*                                                                    *"<<"\n";
     519  f_out<<"#******************************                                      *"<<"\n";
     520  f_out<<"# Tau-jet definition parameters                                      *"<<"\n";
     521  f_out<<"#******************************                                      *"<<"\n";
     522  f_out<<"*                                                                    *"<<"\n";
     523  f_out << left << setw(45) <<"* Cone radius for calorimeter tagging:  "<<""
     524        << left << setw(5) <<TAU_energy_scone                           <<""<< right << setw(20)<<"*"<<"\n";
     525  f_out << left << setw(45) <<"* Fraction of energy in the small cone: "<<""
     526        << left << setw(5) <<TAU_energy_frac*100                        <<""<< right << setw(20)<<"! not in datacard  *"<<"\n";
     527  f_out << left << setw(45) <<"* Cone radius for tracking tagging:     "<<""
     528        << left << setw(5) <<TAU_track_scone                            <<""<< right << setw(20)<<"*"<<"\n";
     529  f_out << left << setw(45) <<"* Minimum track pT [GeV]:               "<<""
     530        << left << setw(5) <<TAU_track_pt                                <<""<< right << setw(20)<<"*"<<"\n";
     531  f_out<<"*                                                                    *"<<"\n";
     532  f_out<<"#***************************                                         *"<<"\n";
     533  f_out<<"# B-tagging efficiencies [%]                                         *"<<"\n";
     534  f_out<<"#***************************                                         *"<<"\n";
     535  f_out<<"*                                                                    *"<<"\n";
     536  f_out << left << setw(50) <<"* Efficiency to tag a \"b\" as a b-jet: "<<""
     537        << left << setw(10) <<BTAG_b               <<""<< right << setw(10)<<"*"<<"\n";
     538  f_out << left << setw(50) <<"* Efficiency to mistag a c-jet as a b-jet: "<<""
     539        << left << setw(10) <<BTAG_mistag_c            <<""<< right << setw(10)<<"*"<<"\n";
     540  f_out << left << setw(50) <<"* Efficiency to mistag a light jet as a b-jet: "<<""
     541        << left << setw(10) <<BTAG_mistag_l            <<""<< right << setw(10)<<"*"<<"\n";
     542  f_out<<"*                                                                    *"<<"\n";
    490543  f_out<<"*                                                                    *"<<"\n";
    491544  f_out<<"#....................................................................*"<<"\n";
    492545  f_out<<"#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<"\n";
    493 
     546 
    494547}
    495548
     
    502555  float energyS = 0.0;          // after smearing  // \sigma/E = C + N/E + S/\sqrt{E}
    503556 
    504   if(fabs(electron.Eta()) < MAX_TRACKER) { // if the electron is inside the tracker
     557  if(fabs(electron.Eta()) < CEN_max_tracker) { // if the electron is inside the tracker
    505558    energyS = gRandom->Gaus(energy, sqrt(
    506559                                         pow(ELG_Ncen,2) +
     
    508561                                         pow(ELG_Scen*sqrt(energy),2) ));
    509562  }
    510   if(fabs(electron.Eta()) > MAX_TRACKER && fabs(electron.Eta()) < MAX_CALO_FWD){
     563  if(fabs(electron.Eta()) > CEN_max_tracker && fabs(electron.Eta()) < CEN_max_calo_fwd){
    511564    energyS = gRandom->Gaus(energy, sqrt(
    512565                                         pow(ELG_Nfwd,2) +
     
    526579  float ptS=pt;
    527580
    528   if(fabs(muon.Eta()) < MAX_MU )
     581  if(fabs(muon.Eta()) < CEN_max_mu )
    529582   {
    530583     ptS = gRandom->Gaus(pt, MU_SmearPt*pt ); // after smearing // \sigma/E = C + N/E + S/\sqrt{E}
     
    550603 
    551604  float energyS1,energyS2;
    552   if(fabs(hadron.Eta()) < MAX_CALO_CEN) {
     605  if(fabs(hadron.Eta()) < CEN_max_calo_cen) {
    553606   energyS1 = gRandom->Gaus(energy_hcal, sqrt(
    554607                                              pow(HAD_Nhcal,2) +
     
    564617  energyS = ((energyS1>0)?energyS1:0) + ((energyS2>0)?energyS2:0);
    565618  }
    566   if(abs(hadron.Eta()) > MAX_CALO_CEN && fabs(hadron.Eta()) < MAX_CALO_FWD){
     619  if(abs(hadron.Eta()) > CEN_max_calo_cen && fabs(hadron.Eta()) < CEN_max_calo_fwd){
    567620    energyS = gRandom->Gaus(energy, sqrt(
    568621                            pow(HAD_Nhf,2) +
     
    609662  double Energie=0;
    610663  for(unsigned int i=0; i < towers.size(); i++) {
    611       if(towers[i].fourVector.pt() < SEEDTHRESHOLD) continue;
    612       if((DeltaR(phi,eta,towers[i].fourVector.phi(),towers[i].fourVector.eta()) < TAU_CONE_ENERGY)) {
     664      if(towers[i].fourVector.pt() < JET_seed) continue;
     665      if((DeltaR(phi,eta,towers[i].fourVector.phi(),towers[i].fourVector.eta()) < TAU_energy_scone)) {
    613666          Energie += towers[i].fourVector.E;
    614667      }
     
    630683  for(unsigned int i=0; i < tracks.size(); i++) {
    631684      if((tracks[i].Pt() < pt_track )||
    632          (DeltaR(phi,eta,tracks[i].Phi(),tracks[i].Eta()) > TAU_CONE_TRACKS)
     685         (DeltaR(phi,eta,tracks[i].Phi(),tracks[i].Eta()) > TAU_track_scone)
    633686        )continue;
    634687      numtrack++;
     
    647700      for(int i=0; i < subarray.GetEntries();i++) { // should have pt>PT_JETMIN and a small cone radius (r<CONE_JET)
    648701          float genDeltaR = DeltaR(subarray[i]->Phi,subarray[i]->Eta,phi,eta);
    649           if(genDeltaR < CONERADIUS && subarray[i]->E > emax) {
     702          if(genDeltaR < JET_coneradius && subarray[i]->E > emax) {
    650703              emax=subarray[i]->E;
    651704              Ppid=abs(subarray[i]->PID);
     
    659712//******************** Simulates the b-tagging efficiency for real bjet, or the misendentification for other jets****************
    660713bool RESOLution::Btaggedjet(const TLorentzVector &JET, const TSimpleArray<TRootGenParticle> &subarray)  {
    661   if(      rand()%100 < (TAGGING_B+1)    && Bjets(subarray,JET.Eta(),JET.Phi())==pB ) return true; // b-tag of b-jets is 40%
    662   else if( rand()%100 < (MISTAGGING_C+1) && Bjets(subarray,JET.Eta(),JET.Phi())==pC ) return true; // b-tag of c-jets is 10%
    663   else if( rand()%100 < (MISTAGGING_L+1) && Bjets(subarray,JET.Eta(),JET.Phi())!=0)   return true; // b-tag of light jets is 1%
     714  if(      rand()%100 < (BTAG_b+1)    && Bjets(subarray,JET.Eta(),JET.Phi())==pB ) return true; // b-tag of b-jets is 40%
     715  else if( rand()%100 < (BTAG_mistag_c+1) && Bjets(subarray,JET.Eta(),JET.Phi())==pC ) return true; // b-tag of c-jets is 10%
     716  else if( rand()%100 < (BTAG_mistag_l+1) && Bjets(subarray,JET.Eta(),JET.Phi())!=0)   return true; // b-tag of light jets is 1%
    664717  return false;
    665718}
     
    691744   iEta = -100;
    692745   int index=-100;
    693    for (unsigned int i=1; i< NTOWERS+1; i++) {
    694         if(fabs(eta)>TOWER_ETA_EDGES[i-1] && fabs(eta)<TOWER_ETA_EDGES[i]) {
    695                 iEta = (eta>0) ? TOWER_ETA_EDGES[i-1] : -TOWER_ETA_EDGES[i];
     746   for (unsigned int i=1; i< TOWER_number+1; i++) {
     747        if(fabs(eta)>TOWER_eta_edges[i-1] && fabs(eta)<TOWER_eta_edges[i]) {
     748                iEta = (eta>0) ? TOWER_eta_edges[i-1] : -TOWER_eta_edges[i];
    696749                index = i-1;
    697750                //cout << setw(15) << left << eta << "\t" << iEta << endl;
     
    701754   if(index==-100) return;
    702755   iPhi = -100;
    703    float dphi = TOWER_DPHI[index]*PI/180.;
    704    for (unsigned int i=1; i < 360/TOWER_DPHI[index]; i++ ) {
     756   float dphi = TOWER_dphi[index]*PI/180.;
     757   for (unsigned int i=1; i < 360/TOWER_dphi[index]; i++ ) {
    705758        float low = -PI+(i-1)*dphi;
    706759        float high= low+dphi;
  • trunk/src/VeryForward.cc

    r65 r94  
    6262  TLorentzVector genMomentum;
    6363  // Zero degree calorimeter, for forward neutrons and photons
    64   if (particle->Status ==1 && (pid == pN || pid == pGAMMA ) && eta > MIN_ZDC ) {
     64  if (particle->Status ==1 && (pid == pN || pid == pGAMMA ) && eta > VFD_min_zdc ) {
    6565    genMomentum.SetPxPyPzE(particle->Px, particle->Py, particle->Pz, particle->E);
    6666    // !!!!!!!!! vérifier que particle->Z est bien en micromÚtres!!!
     
    7575    //double theta = (1E-6)*sqrt( pow(tx,2) + pow(ty,2) );
    7676    //double flight_distance = (DET->ZDC_S - particle->Z*(1E-6))/cos(theta) ; // assumes that Z is in micrometers
    77     double flight_distance = (ZDC_S - particle->Z*(1E-6));
     77    double flight_distance = (VFD_s_zdc - particle->Z*(1E-6));
    7878    // assumes also that the emission angle is so small that 1/(cos theta) = 1
    7979    elementZdc->T = 0*particle->T + flight_distance/speed_of_light; // assumes highly relativistic particles
     
    9595  genMomentum.SetPxPyPzE(particle->Px, particle->Py, particle->Pz, particle->E);
    9696  // if forward proton
    97   if( (pid == pP)  && (particle->Status == 1) &&  (fabs(genMomentum.Eta()) > MAX_CALO_FWD) )
     97  if( (pid == pP)  && (particle->Status == 1) &&  (fabs(genMomentum.Eta()) > CEN_max_calo_fwd) )
    9898    {
    9999      // !!!!!!!! put here particle->CHARGE and particle->MASS
     
    112112      if(p1.stopped(beamline)) {
    113113        if (p1.getStoppingElement()->getName()=="rp220_1" || p1.getStoppingElement()->getName()=="rp220_2") {
    114           p1.propagate(RP220_S);
     114          p1.propagate(RP_220_s);
    115115          elementRP220 = (TRootRomanPotHits*) branchRP220->NewEntry();
    116116          elementRP220->X  = (1E-6)*p1.getX();  // [m]
     
    125125         
    126126        } else if (p1.getStoppingElement()->getName()=="rp420_1" || p1.getStoppingElement()->getName()=="rp420_2") {
    127           p1.propagate(FP420_S);
     127          p1.propagate(RP_420_s);
    128128          elementFP420 = (TRootRomanPotHits*) branchFP420->NewEntry();
    129129          elementFP420->X  = (1E-6)*p1.getX();  // [m]
Note: See TracChangeset for help on using the changeset viewer.